{"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Docs-as-code is a popular and effective approach for creating and maintaining documentation, especially at scale."," ","The basic idea is to take the best code productivity tools and processes, and apply them to documentation projects."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Using a docs-as-code workflow requires source control as a key building block, and the most commonly used source control tool is git, which involves branching."," ","Choosing an appropriate branching strategy for your documentation project can make all the difference between frustration and a well-oiled workflow."," ","This post outlines the branching strategies we see in successful projects, describes how to use them, and gives you some advice on how to pick one for your own project."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"about-git-branches","__idx":0},"children":["About git branches"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you're new to git, you can think of branches as different versions of a project - I call them \"parallel universes\"."," ","Each new branch starts from your main branch, and contains only one group of changes, in a series of \"commits\"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If your to-do list for the day needs you to update some release notes, fix a typo in the installation instruction, and add an article explaining that cool new feature, then you'll create a new branch for each of those three things."," ","Once a branch is started, you can commit your work so far, switch to another one to work there, and then come back and do more on the first task."," ","The branches keep each set of changes separate, and mean that a team can collaborate on multiple tasks, with different changes at different stages of creation, review, and signoff."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To get the changes from a branch back into main, you \"merge\" the changes."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success","name":"Git learning resources"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["GitHub has a good round up of ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://docs.github.com/en/get-started/start-your-journey/git-and-github-learning-resources"},"children":["learning resources"]}," if you want to learn more about git."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"trunk-based-workflow","__idx":1},"children":["Trunk-based workflow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Trunk-based development is a fancy way of saying that all changes are applied to the main branch."," ","Committing directly to main is the simplest way to use git, and while it misses out on some of the major advantages such as having a review step, working in these many small units of work can be a good fit."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To use trunk-based development in practice, make small but complete changes, and commit each one with a meaningful message."," ","For more complex work, use a branch and add small changes there and merge as soon as the work can be used."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following diagram shows a typical workflow for trunk-based development."]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"    gitGraph\n       commit\n       commit\n       branch docs/big-tutorial\n       commit\n       commit\n       commit\n       checkout main\n       merge docs/big-tutorial\n       commit\n       commit\n       commit\n       commit\n","diagramHtml":"<svg id=\"diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 681.953125px;\" viewBox=\"-173.953125 -20.5 681.953125 173.3867950439453\" role=\"graphics-document document\" aria-roledescription=\"gitGraph\"><style>\n    #diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .error-icon{fill:#552222;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .error-text{fill:#552222;stroke:#552222;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .edge-thickness-normal{stroke-width:1px;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .edge-thickness-thick{stroke-width:3.5px;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .edge-pattern-solid{stroke-dasharray:0;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .marker{fill:#333333;stroke:#333333;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .marker.cross{stroke:#333333;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 p{margin:0;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-id,#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-msg,#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch-label0{fill:#ffffff;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit0{stroke:hsl(240, 100%, 46.2745098039%);fill:hsl(240, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-highlight0{stroke:hsl(60, 100%, 3.7254901961%);fill:hsl(60, 100%, 3.7254901961%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .label0{fill:hsl(240, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .arrow0{stroke:hsl(240, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch-label1{fill:black;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit1{stroke:hsl(60, 100%, 43.5294117647%);fill:hsl(60, 100%, 43.5294117647%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-highlight1{stroke:rgb(0, 0, 160.5);fill:rgb(0, 0, 160.5);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .label1{fill:hsl(60, 100%, 43.5294117647%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .arrow1{stroke:hsl(60, 100%, 43.5294117647%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch-label2{fill:black;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit2{stroke:hsl(80, 100%, 46.2745098039%);fill:hsl(80, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-highlight2{stroke:rgb(48.8333333334, 0, 146.5000000001);fill:rgb(48.8333333334, 0, 146.5000000001);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .label2{fill:hsl(80, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .arrow2{stroke:hsl(80, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch-label3{fill:#ffffff;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit3{stroke:hsl(210, 100%, 46.2745098039%);fill:hsl(210, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-highlight3{stroke:rgb(146.5000000001, 73.2500000001, 0);fill:rgb(146.5000000001, 73.2500000001, 0);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .label3{fill:hsl(210, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .arrow3{stroke:hsl(210, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch-label4{fill:black;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit4{stroke:hsl(180, 100%, 46.2745098039%);fill:hsl(180, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-highlight4{stroke:rgb(146.5000000001, 0, 0);fill:rgb(146.5000000001, 0, 0);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .label4{fill:hsl(180, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .arrow4{stroke:hsl(180, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch-label5{fill:black;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit5{stroke:hsl(150, 100%, 46.2745098039%);fill:hsl(150, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-highlight5{stroke:rgb(146.5000000001, 0, 73.2500000001);fill:rgb(146.5000000001, 0, 73.2500000001);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .label5{fill:hsl(150, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .arrow5{stroke:hsl(150, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch-label6{fill:black;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit6{stroke:hsl(300, 100%, 46.2745098039%);fill:hsl(300, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-highlight6{stroke:rgb(0, 146.5000000001, 0);fill:rgb(0, 146.5000000001, 0);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .label6{fill:hsl(300, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .arrow6{stroke:hsl(300, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch-label7{fill:black;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit7{stroke:hsl(0, 100%, 46.2745098039%);fill:hsl(0, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-highlight7{stroke:rgb(0, 146.5000000001, 146.5000000001);fill:rgb(0, 146.5000000001, 146.5000000001);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .label7{fill:hsl(0, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .arrow7{stroke:hsl(0, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch-label8{fill:#ffffff;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit8{stroke:hsl(240, 100%, 46.2745098039%);fill:hsl(240, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-highlight8{stroke:hsl(60, 100%, 3.7254901961%);fill:hsl(60, 100%, 3.7254901961%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .label8{fill:hsl(240, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .arrow8{stroke:hsl(240, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch-label9{fill:black;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit9{stroke:hsl(60, 100%, 43.5294117647%);fill:hsl(60, 100%, 43.5294117647%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-highlight9{stroke:rgb(0, 0, 160.5);fill:rgb(0, 0, 160.5);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .label9{fill:hsl(60, 100%, 43.5294117647%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .arrow9{stroke:hsl(60, 100%, 43.5294117647%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch-label10{fill:black;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit10{stroke:hsl(80, 100%, 46.2745098039%);fill:hsl(80, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-highlight10{stroke:rgb(48.8333333334, 0, 146.5000000001);fill:rgb(48.8333333334, 0, 146.5000000001);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .label10{fill:hsl(80, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .arrow10{stroke:hsl(80, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch-label11{fill:#ffffff;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit11{stroke:hsl(210, 100%, 46.2745098039%);fill:hsl(210, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-highlight11{stroke:rgb(146.5000000001, 73.2500000001, 0);fill:rgb(146.5000000001, 73.2500000001, 0);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .label11{fill:hsl(210, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .arrow11{stroke:hsl(210, 100%, 46.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .branch{stroke-width:1;stroke:#333333;stroke-dasharray:2;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-label{font-size:10px;fill:#000021;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-label-bkg{font-size:10px;fill:#ffffde;opacity:0.5;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .tag-label{font-size:10px;fill:#131300;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .tag-label-bkg{fill:#ECECFF;stroke:hsl(240, 60%, 86.2745098039%);}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .tag-hole{fill:#333;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-merge{stroke:#ECECFF;fill:#ECECFF;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-reverse{stroke:#ECECFF;fill:#ECECFF;stroke-width:3;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .commit-highlight-inner{stroke:#ECECFF;fill:#ECECFF;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .arrow{stroke-width:8;stroke-linecap:round;fill:none;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .gitTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 .node .neo-node{stroke:#9370DB;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 [data-look=\"neo\"].node rect,#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 [data-look=\"neo\"].cluster rect,#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1014e611f70b7bfddd7690e95d5d783af79801bb9c2594c0291c8fb3159c4575 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><g class=\"commit-bullets\"></g><g class=\"commit-labels\"></g><g><line x1=\"0\" y1=\"-2\" x2=\"500\" y2=\"-2\" class=\"branch branch0\"></line><rect class=\"branchLabelBkg label0\" style=\"\" rx=\"4\" ry=\"4\" x=\"-68.6875\" y=\"1.5\" width=\"52.6875\" height=\"21\" transform=\"translate(-19, -14)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label0\" transform=\"translate(-78.6875, -12.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">main</tspan></text></g></g><line x1=\"0\" y1=\"88\" x2=\"500\" y2=\"88\" class=\"branch branch1\"></line><rect class=\"branchLabelBkg label1\" style=\"\" rx=\"4\" ry=\"4\" x=\"-146.953125\" y=\"1\" width=\"130.953125\" height=\"22\" transform=\"translate(-19, 76)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label1\" transform=\"translate(-156.953125, 77)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">docs/big-tutorial</tspan></text></g></g></g><g class=\"commit-arrows\"><path d=\"M 10 -2 L 60 -2\" class=\"arrow arrow0\"></path><path d=\"M 60 -2 L 60 68 A 20 20, 0, 0, 0, 80 88 L 110 88\" class=\"arrow arrow1\"></path><path d=\"M 110 88 L 160 88\" class=\"arrow arrow1\"></path><path d=\"M 160 88 L 210 88\" class=\"arrow arrow1\"></path><path d=\"M 60 -2 L 260 -2\" class=\"arrow arrow0\"></path><path d=\"M 210 88 L 240 88 A 20 20, 0, 0, 0, 260 68 L 260 -2\" class=\"arrow arrow1\"></path><path d=\"M 260 -2 L 310 -2\" class=\"arrow arrow0\"></path><path d=\"M 310 -2 L 360 -2\" class=\"arrow arrow0\"></path><path d=\"M 360 -2 L 410 -2\" class=\"arrow arrow0\"></path><path d=\"M 410 -2 L 460 -2\" class=\"arrow arrow0\"></path></g><g class=\"commit-bullets\"><circle cx=\"10\" cy=\"-2\" r=\"10\" class=\"commit 0-3aa1f2f commit0\"></circle><circle cx=\"60\" cy=\"-2\" r=\"10\" class=\"commit 1-ae0ba7c commit0\"></circle><circle cx=\"110\" cy=\"88\" r=\"10\" class=\"commit 2-d487d4f commit1\"></circle><circle cx=\"160\" cy=\"88\" r=\"10\" class=\"commit 3-da82fe2 commit1\"></circle><circle cx=\"210\" cy=\"88\" r=\"10\" class=\"commit 4-cb6da2c commit1\"></circle><circle cx=\"260\" cy=\"-2\" r=\"10\" class=\"commit 5-7fd54ac commit0\"></circle><circle cx=\"260\" cy=\"-2\" r=\"6\" class=\"commit commit-merge 5-7fd54ac commit0\"></circle><circle cx=\"310\" cy=\"-2\" r=\"10\" class=\"commit 6-c88e877 commit0\"></circle><circle cx=\"360\" cy=\"-2\" r=\"10\" class=\"commit 7-acf6d2d commit0\"></circle><circle cx=\"410\" cy=\"-2\" r=\"10\" class=\"commit 8-c3c41a1 commit0\"></circle><circle cx=\"460\" cy=\"-2\" r=\"10\" class=\"commit 9-5c37938 commit0\"></circle></g><g class=\"commit-labels\"><g transform=\"translate(-27.44146484375, 24.442363281250003) rotate(-45, 0, -2)\"><rect class=\"commit-label-bkg\" x=\"-13.23876953125\" y=\"11.5\" width=\"46.4775390625\" height=\"15\"></rect><text x=\"-11.23876953125\" y=\"23\" class=\"commit-label\">0-3aa1f2f</text></g><g transform=\"translate(-29.2609375, 26.0703125) rotate(-45, 50, -2)\"><rect class=\"commit-label-bkg\" x=\"34.3671875\" y=\"11.5\" width=\"51.265625\" height=\"15\"></rect><text x=\"36.3671875\" y=\"23\" class=\"commit-label\">1-ae0ba7c</text></g><g transform=\"translate(-28.49908203125, 25.388652343750003) rotate(-45, 100, 88)\"><rect class=\"commit-label-bkg\" x=\"85.36962890625\" y=\"101.5\" width=\"49.2607421875\" height=\"15\"></rect><text x=\"87.36962890625\" y=\"113\" class=\"commit-label\">2-d487d4f</text></g><g transform=\"translate(-28.581464843750002, 25.46236328125) rotate(-45, 150, 88)\"><rect class=\"commit-label-bkg\" x=\"135.26123046875\" y=\"101.5\" width=\"49.4775390625\" height=\"15\"></rect><text x=\"137.26123046875\" y=\"113\" class=\"commit-label\">3-da82fe2</text></g><g transform=\"translate(-29.0471875, 25.8790625) rotate(-45, 200, 88)\"><rect class=\"commit-label-bkg\" x=\"184.6484375\" y=\"101.5\" width=\"50.703125\" height=\"15\"></rect><text x=\"186.6484375\" y=\"113\" class=\"commit-label\">4-cb6da2c</text></g><g transform=\"translate(-29.425703125000002, 26.217734375) rotate(-45, 300, -2)\"><rect class=\"commit-label-bkg\" x=\"284.150390625\" y=\"11.5\" width=\"51.69921875\" height=\"15\"></rect><text x=\"286.150390625\" y=\"23\" class=\"commit-label\">6-c88e877</text></g><g transform=\"translate(-28.2040625, 25.1246875) rotate(-45, 350, -2)\"><rect class=\"commit-label-bkg\" x=\"335.7578125\" y=\"11.5\" width=\"48.484375\" height=\"15\"></rect><text x=\"337.7578125\" y=\"23\" class=\"commit-label\">7-acf6d2d</text></g><g transform=\"translate(-29.212324218750002, 26.02681640625) rotate(-45, 400, -2)\"><rect class=\"commit-label-bkg\" x=\"384.43115234375\" y=\"11.5\" width=\"51.1376953125\" height=\"15\"></rect><text x=\"386.43115234375\" y=\"23\" class=\"commit-label\">8-c3c41a1</text></g><g transform=\"translate(-29.425703125000002, 26.217734375) rotate(-45, 450, -2)\"><rect class=\"commit-label-bkg\" x=\"434.150390625\" y=\"11.5\" width=\"51.69921875\" height=\"15\"></rect><text x=\"436.150390625\" y=\"23\" class=\"commit-label\">9-5c37938</text></g></g></svg>","diagramHtmlDark":"<svg id=\"diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 681.953125px;\" viewBox=\"-173.953125 -20.5 681.953125 174.4670867919922\" role=\"graphics-document document\" aria-roledescription=\"gitGraph\"><style>\n    #diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .error-icon{fill:#a44141;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .error-text{fill:#ddd;stroke:#ddd;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .edge-thickness-normal{stroke-width:1px;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .edge-thickness-thick{stroke-width:3.5px;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .edge-pattern-solid{stroke-dasharray:0;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .edge-pattern-dashed{stroke-dasharray:3;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .edge-pattern-dotted{stroke-dasharray:2;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .marker{fill:lightgrey;stroke:lightgrey;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .marker.cross{stroke:lightgrey;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf p{margin:0;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-id,#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-msg,#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch-label0{fill:#2c2c2c;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit0{stroke:hsl(180, 1.5873015873%, 48.3529411765%);fill:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-highlight0{stroke:rgb(133.6571428571, 129.7428571428, 129.7428571428);fill:rgb(133.6571428571, 129.7428571428, 129.7428571428);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .label0{fill:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .arrow0{stroke:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch-label1{fill:lightgrey;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit1{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-highlight1{stroke:rgb(93.5483870969, 221.4516129033, 139.677419355);fill:rgb(93.5483870969, 221.4516129033, 139.677419355);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .label1{fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .arrow1{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch-label2{fill:lightgrey;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit2{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-highlight2{stroke:rgb(149.4437086091, 117.6092715231, 107.5562913906);fill:rgb(149.4437086091, 117.6092715231, 107.5562913906);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .label2{fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .arrow2{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch-label3{fill:#2c2c2c;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit3{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-highlight3{stroke:rgb(99.9811320754, 162.7735849057, 202.0188679245);fill:rgb(99.9811320754, 162.7735849057, 202.0188679245);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .label3{fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .arrow3{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch-label4{fill:lightgrey;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit4{stroke:hsl(0, 83.3333333333%, 43.5294117647%);fill:hsl(0, 83.3333333333%, 43.5294117647%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-highlight4{stroke:rgb(51.5000000001, 236.5, 236.5);fill:rgb(51.5000000001, 236.5, 236.5);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .label4{fill:hsl(0, 83.3333333333%, 43.5294117647%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .arrow4{stroke:hsl(0, 83.3333333333%, 43.5294117647%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch-label5{fill:lightgrey;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit5{stroke:hsl(289.1666666667, 100%, 24.1176470588%);fill:hsl(289.1666666667, 100%, 24.1176470588%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-highlight5{stroke:rgb(154.2083333334, 255, 132.0000000001);fill:rgb(154.2083333334, 255, 132.0000000001);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .label5{fill:hsl(289.1666666667, 100%, 24.1176470588%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .arrow5{stroke:hsl(289.1666666667, 100%, 24.1176470588%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch-label6{fill:lightgrey;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit6{stroke:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);fill:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-highlight6{stroke:rgb(51.331168831, 135.1948051946, 253.6688311688);fill:rgb(51.331168831, 135.1948051946, 253.6688311688);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .label6{fill:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .arrow6{stroke:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch-label7{fill:lightgrey;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit7{stroke:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);fill:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-highlight7{stroke:rgb(206.1818181817, 89.948051948, 241.051948052);fill:rgb(206.1818181817, 89.948051948, 241.051948052);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .label7{fill:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .arrow7{stroke:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch-label8{fill:#2c2c2c;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit8{stroke:hsl(180, 1.5873015873%, 48.3529411765%);fill:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-highlight8{stroke:rgb(133.6571428571, 129.7428571428, 129.7428571428);fill:rgb(133.6571428571, 129.7428571428, 129.7428571428);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .label8{fill:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .arrow8{stroke:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch-label9{fill:lightgrey;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit9{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-highlight9{stroke:rgb(93.5483870969, 221.4516129033, 139.677419355);fill:rgb(93.5483870969, 221.4516129033, 139.677419355);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .label9{fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .arrow9{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch-label10{fill:lightgrey;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit10{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-highlight10{stroke:rgb(149.4437086091, 117.6092715231, 107.5562913906);fill:rgb(149.4437086091, 117.6092715231, 107.5562913906);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .label10{fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .arrow10{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch-label11{fill:#2c2c2c;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit11{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-highlight11{stroke:rgb(99.9811320754, 162.7735849057, 202.0188679245);fill:rgb(99.9811320754, 162.7735849057, 202.0188679245);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .label11{fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .arrow11{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .branch{stroke-width:1;stroke:lightgrey;stroke-dasharray:2;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-label{font-size:10px;fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-label-bkg{font-size:10px;fill:hsl(180, 1.5873015873%, 28.3529411765%);opacity:0.5;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .tag-label{font-size:10px;fill:#e0dfdf;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .tag-label-bkg{fill:#1f2020;stroke:#cccccc;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .tag-hole{fill:#ccc;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-merge{stroke:#1f2020;fill:#1f2020;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-reverse{stroke:#1f2020;fill:#1f2020;stroke-width:3;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .commit-highlight-inner{stroke:#1f2020;fill:#1f2020;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .arrow{stroke-width:8;stroke-linecap:round;fill:none;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .gitTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf .node .neo-node{stroke:#ccc;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf [data-look=\"neo\"].node rect,#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf [data-look=\"neo\"].cluster rect,#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf [data-look=\"neo\"].node polygon{stroke:url(#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf [data-look=\"neo\"].node path{stroke:url(#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf-gradient);stroke-width:1px;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf [data-look=\"neo\"].node circle{stroke:url(#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><defs><linearGradient id=\"diagram-a6c66fe31c3d036d381f100db82117cd271a2422f696be244457222cb61fecaf-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></defs><g class=\"commit-bullets\"></g><g class=\"commit-labels\"></g><g><line x1=\"0\" y1=\"-2\" x2=\"500\" y2=\"-2\" class=\"branch branch0\"></line><rect class=\"branchLabelBkg label0\" style=\"\" rx=\"4\" ry=\"4\" x=\"-68.6875\" y=\"1.5\" width=\"52.6875\" height=\"21\" transform=\"translate(-19, -14)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label0\" transform=\"translate(-78.6875, -12.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">main</tspan></text></g></g><line x1=\"0\" y1=\"88\" x2=\"500\" y2=\"88\" class=\"branch branch1\"></line><rect class=\"branchLabelBkg label1\" style=\"\" rx=\"4\" ry=\"4\" x=\"-146.953125\" y=\"1\" width=\"130.953125\" height=\"22\" transform=\"translate(-19, 76)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label1\" transform=\"translate(-156.953125, 77)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">docs/big-tutorial</tspan></text></g></g></g><g class=\"commit-arrows\"><path d=\"M 10 -2 L 60 -2\" class=\"arrow arrow0\"></path><path d=\"M 60 -2 L 60 68 A 20 20, 0, 0, 0, 80 88 L 110 88\" class=\"arrow arrow1\"></path><path d=\"M 110 88 L 160 88\" class=\"arrow arrow1\"></path><path d=\"M 160 88 L 210 88\" class=\"arrow arrow1\"></path><path d=\"M 60 -2 L 260 -2\" class=\"arrow arrow0\"></path><path d=\"M 210 88 L 240 88 A 20 20, 0, 0, 0, 260 68 L 260 -2\" class=\"arrow arrow1\"></path><path d=\"M 260 -2 L 310 -2\" class=\"arrow arrow0\"></path><path d=\"M 310 -2 L 360 -2\" class=\"arrow arrow0\"></path><path d=\"M 360 -2 L 410 -2\" class=\"arrow arrow0\"></path><path d=\"M 410 -2 L 460 -2\" class=\"arrow arrow0\"></path></g><g class=\"commit-bullets\"><circle cx=\"10\" cy=\"-2\" r=\"10\" class=\"commit 0-3f05362 commit0\"></circle><circle cx=\"60\" cy=\"-2\" r=\"10\" class=\"commit 1-c77a570 commit0\"></circle><circle cx=\"110\" cy=\"88\" r=\"10\" class=\"commit 2-74a3951 commit1\"></circle><circle cx=\"160\" cy=\"88\" r=\"10\" class=\"commit 3-9ae54ae commit1\"></circle><circle cx=\"210\" cy=\"88\" r=\"10\" class=\"commit 4-677ccaa commit1\"></circle><circle cx=\"260\" cy=\"-2\" r=\"10\" class=\"commit 5-1835cb8 commit0\"></circle><circle cx=\"260\" cy=\"-2\" r=\"6\" class=\"commit commit-merge 5-1835cb8 commit0\"></circle><circle cx=\"310\" cy=\"-2\" r=\"10\" class=\"commit 6-68aa6ef commit0\"></circle><circle cx=\"360\" cy=\"-2\" r=\"10\" class=\"commit 7-e2d121e commit0\"></circle><circle cx=\"410\" cy=\"-2\" r=\"10\" class=\"commit 8-67788a2 commit0\"></circle><circle cx=\"460\" cy=\"-2\" r=\"10\" class=\"commit 9-1e01d30 commit0\"></circle></g><g class=\"commit-labels\"><g transform=\"translate(-28.581464843750002, 25.46236328125) rotate(-45, 0, -2)\"><rect class=\"commit-label-bkg\" x=\"-14.73876953125\" y=\"11.5\" width=\"49.4775390625\" height=\"15\"></rect><text x=\"-12.73876953125\" y=\"23\" class=\"commit-label\">0-3f05362</text></g><g transform=\"translate(-29.425703125000002, 26.217734375) rotate(-45, 50, -2)\"><rect class=\"commit-label-bkg\" x=\"34.150390625\" y=\"11.5\" width=\"51.69921875\" height=\"15\"></rect><text x=\"36.150390625\" y=\"23\" class=\"commit-label\">1-c77a570</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 100, 88)\"><rect class=\"commit-label-bkg\" x=\"83.86962890625\" y=\"101.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"85.86962890625\" y=\"113\" class=\"commit-label\">2-74a3951</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 150, 88)\"><rect class=\"commit-label-bkg\" x=\"133.86962890625\" y=\"101.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"135.86962890625\" y=\"113\" class=\"commit-label\">3-9ae54ae</text></g><g transform=\"translate(-29.212324218750002, 26.02681640625) rotate(-45, 200, 88)\"><rect class=\"commit-label-bkg\" x=\"184.43115234375\" y=\"101.5\" width=\"51.1376953125\" height=\"15\"></rect><text x=\"186.43115234375\" y=\"113\" class=\"commit-label\">4-677ccaa</text></g><g transform=\"translate(-28.49908203125, 25.388652343750003) rotate(-45, 300, -2)\"><rect class=\"commit-label-bkg\" x=\"285.36962890625\" y=\"11.5\" width=\"49.2607421875\" height=\"15\"></rect><text x=\"287.36962890625\" y=\"23\" class=\"commit-label\">6-68aa6ef</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 350, -2)\"><rect class=\"commit-label-bkg\" x=\"333.86962890625\" y=\"11.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"335.86962890625\" y=\"23\" class=\"commit-label\">7-e2d121e</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 400, -2)\"><rect class=\"commit-label-bkg\" x=\"383.86962890625\" y=\"11.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"385.86962890625\" y=\"23\" class=\"commit-label\">8-67788a2</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 450, -2)\"><rect class=\"commit-label-bkg\" x=\"433.86962890625\" y=\"11.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"435.86962890625\" y=\"23\" class=\"commit-label\">9-1e01d30</text></g></g></svg>"},"children":[]},{"$$mdtype":"Tag","name":"details","attributes":{},"children":[{"$$mdtype":"Tag","name":"summary","attributes":{},"children":["Diagram source for trunk-based git workflow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Diagram source for the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://mermaid.js.org/syntax/gitgraph.html"},"children":["mermaidjs gitgraph"]}," diagram."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"    gitGraph\n       commit\n       commit\n       branch docs/big-tutorial\n       commit\n       commit\n       commit\n       checkout main\n       merge docs/big-tutorial\n       commit\n       commit\n       commit\n       commit\n","lang":"text"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Most of the commits are made directly to the main branch, with one longer piece of work being developed on a branch."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For individual writers or small teams without extensive git skills or review processes, trunk-based workflow can be a good fit and a great way to get started with docs-as-code."," ","Since all changes get committed regularly, the trunk-based workflow means that tasks cannot hang around in \"work-in-progress\" state for long periods, and it's much clearer how each task is progressing."," ","The main disadvantage of this approach is that changes get integrated without being tested or reviewed; any additional edits or changes are added directly on to the main branch."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"github-flow","__idx":2},"children":["GitHub flow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If there was a standard approach to branching for docs-as-code strategies, then ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://docs.github.com/en/get-started/using-github/github-flow"},"children":["GitHub flow"]}," would be it."," ","In GitHub flow, every change goes onto a branch and is opened as a pull request (or merge request, depending on your platform) before being accepted into the main branch."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Putting each change into its own branch and pull request brings into focus the real strengths of docs-as-code as it gives the opportunity to:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["generate a preview of the changes to share with collaborators"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["run automated checks such as link checking, spell checking, and linting for the markup format used"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["have others review the changes before they are published"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following diagram shows a typical workflow for GitHub flow:"]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"    gitGraph\n       commit\n       branch docs/new-feature\n       commit\n       commit\n       checkout main\n       branch docs/fun-tutorial\n       commit\n       commit\n       checkout docs/new-feature\n       commit\n       checkout main\n       merge docs/new-feature\n       checkout docs/fun-tutorial\n       commit\n       commit\n       commit\n       checkout main\n       merge docs/fun-tutorial\n       branch docs/fix-typo\n       commit\n       checkout main\n       merge docs/fix-typo\n\n","diagramHtml":"<svg id=\"diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 841.8359375px;\" viewBox=\"-183.8359375 -20.5 841.8359375 357.0306701660156\" role=\"graphics-document document\" aria-roledescription=\"gitGraph\"><style>\n    #diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .error-icon{fill:#552222;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .error-text{fill:#552222;stroke:#552222;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .edge-thickness-normal{stroke-width:1px;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .edge-thickness-thick{stroke-width:3.5px;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .edge-pattern-solid{stroke-dasharray:0;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .marker{fill:#333333;stroke:#333333;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .marker.cross{stroke:#333333;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 p{margin:0;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-id,#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-msg,#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch-label0{fill:#ffffff;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit0{stroke:hsl(240, 100%, 46.2745098039%);fill:hsl(240, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-highlight0{stroke:hsl(60, 100%, 3.7254901961%);fill:hsl(60, 100%, 3.7254901961%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .label0{fill:hsl(240, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .arrow0{stroke:hsl(240, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch-label1{fill:black;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit1{stroke:hsl(60, 100%, 43.5294117647%);fill:hsl(60, 100%, 43.5294117647%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-highlight1{stroke:rgb(0, 0, 160.5);fill:rgb(0, 0, 160.5);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .label1{fill:hsl(60, 100%, 43.5294117647%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .arrow1{stroke:hsl(60, 100%, 43.5294117647%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch-label2{fill:black;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit2{stroke:hsl(80, 100%, 46.2745098039%);fill:hsl(80, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-highlight2{stroke:rgb(48.8333333334, 0, 146.5000000001);fill:rgb(48.8333333334, 0, 146.5000000001);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .label2{fill:hsl(80, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .arrow2{stroke:hsl(80, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch-label3{fill:#ffffff;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit3{stroke:hsl(210, 100%, 46.2745098039%);fill:hsl(210, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-highlight3{stroke:rgb(146.5000000001, 73.2500000001, 0);fill:rgb(146.5000000001, 73.2500000001, 0);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .label3{fill:hsl(210, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .arrow3{stroke:hsl(210, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch-label4{fill:black;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit4{stroke:hsl(180, 100%, 46.2745098039%);fill:hsl(180, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-highlight4{stroke:rgb(146.5000000001, 0, 0);fill:rgb(146.5000000001, 0, 0);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .label4{fill:hsl(180, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .arrow4{stroke:hsl(180, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch-label5{fill:black;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit5{stroke:hsl(150, 100%, 46.2745098039%);fill:hsl(150, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-highlight5{stroke:rgb(146.5000000001, 0, 73.2500000001);fill:rgb(146.5000000001, 0, 73.2500000001);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .label5{fill:hsl(150, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .arrow5{stroke:hsl(150, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch-label6{fill:black;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit6{stroke:hsl(300, 100%, 46.2745098039%);fill:hsl(300, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-highlight6{stroke:rgb(0, 146.5000000001, 0);fill:rgb(0, 146.5000000001, 0);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .label6{fill:hsl(300, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .arrow6{stroke:hsl(300, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch-label7{fill:black;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit7{stroke:hsl(0, 100%, 46.2745098039%);fill:hsl(0, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-highlight7{stroke:rgb(0, 146.5000000001, 146.5000000001);fill:rgb(0, 146.5000000001, 146.5000000001);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .label7{fill:hsl(0, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .arrow7{stroke:hsl(0, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch-label8{fill:#ffffff;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit8{stroke:hsl(240, 100%, 46.2745098039%);fill:hsl(240, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-highlight8{stroke:hsl(60, 100%, 3.7254901961%);fill:hsl(60, 100%, 3.7254901961%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .label8{fill:hsl(240, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .arrow8{stroke:hsl(240, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch-label9{fill:black;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit9{stroke:hsl(60, 100%, 43.5294117647%);fill:hsl(60, 100%, 43.5294117647%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-highlight9{stroke:rgb(0, 0, 160.5);fill:rgb(0, 0, 160.5);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .label9{fill:hsl(60, 100%, 43.5294117647%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .arrow9{stroke:hsl(60, 100%, 43.5294117647%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch-label10{fill:black;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit10{stroke:hsl(80, 100%, 46.2745098039%);fill:hsl(80, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-highlight10{stroke:rgb(48.8333333334, 0, 146.5000000001);fill:rgb(48.8333333334, 0, 146.5000000001);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .label10{fill:hsl(80, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .arrow10{stroke:hsl(80, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch-label11{fill:#ffffff;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit11{stroke:hsl(210, 100%, 46.2745098039%);fill:hsl(210, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-highlight11{stroke:rgb(146.5000000001, 73.2500000001, 0);fill:rgb(146.5000000001, 73.2500000001, 0);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .label11{fill:hsl(210, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .arrow11{stroke:hsl(210, 100%, 46.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .branch{stroke-width:1;stroke:#333333;stroke-dasharray:2;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-label{font-size:10px;fill:#000021;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-label-bkg{font-size:10px;fill:#ffffde;opacity:0.5;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .tag-label{font-size:10px;fill:#131300;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .tag-label-bkg{fill:#ECECFF;stroke:hsl(240, 60%, 86.2745098039%);}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .tag-hole{fill:#333;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-merge{stroke:#ECECFF;fill:#ECECFF;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-reverse{stroke:#ECECFF;fill:#ECECFF;stroke-width:3;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .commit-highlight-inner{stroke:#ECECFF;fill:#ECECFF;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .arrow{stroke-width:8;stroke-linecap:round;fill:none;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .gitTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 .node .neo-node{stroke:#9370DB;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 [data-look=\"neo\"].node rect,#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 [data-look=\"neo\"].cluster rect,#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-99b910ee682244ad9b554338155184141134b1cc85177187ac35364911b7fc98 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><g class=\"commit-bullets\"></g><g class=\"commit-labels\"></g><g><line x1=\"0\" y1=\"-2\" x2=\"650\" y2=\"-2\" class=\"branch branch0\"></line><rect class=\"branchLabelBkg label0\" style=\"\" rx=\"4\" ry=\"4\" x=\"-68.6875\" y=\"1.5\" width=\"52.6875\" height=\"21\" transform=\"translate(-19, -14)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label0\" transform=\"translate(-78.6875, -12.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">main</tspan></text></g></g><line x1=\"0\" y1=\"88\" x2=\"650\" y2=\"88\" class=\"branch branch1\"></line><rect class=\"branchLabelBkg label1\" style=\"\" rx=\"4\" ry=\"4\" x=\"-156.8359375\" y=\"1.5\" width=\"140.8359375\" height=\"21\" transform=\"translate(-19, 76)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label1\" transform=\"translate(-166.8359375, 77.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">docs/new-feature</tspan></text></g></g><line x1=\"0\" y1=\"178\" x2=\"650\" y2=\"178\" class=\"branch branch2\"></line><rect class=\"branchLabelBkg label2\" style=\"\" rx=\"4\" ry=\"4\" x=\"-147.84375\" y=\"1.5\" width=\"131.84375\" height=\"21\" transform=\"translate(-19, 166)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label2\" transform=\"translate(-157.84375, 167.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">docs/fun-tutorial</tspan></text></g></g><line x1=\"0\" y1=\"268\" x2=\"650\" y2=\"268\" class=\"branch branch3\"></line><rect class=\"branchLabelBkg label3\" style=\"\" rx=\"4\" ry=\"4\" x=\"-123.9140625\" y=\"1\" width=\"107.9140625\" height=\"22\" transform=\"translate(-19, 256)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label3\" transform=\"translate(-133.9140625, 257)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">docs/fix-typo</tspan></text></g></g></g><g class=\"commit-arrows\"><path d=\"M 10 -2 L 10 68 A 20 20, 0, 0, 0, 30 88 L 60 88\" class=\"arrow arrow1\"></path><path d=\"M 60 88 L 110 88\" class=\"arrow arrow1\"></path><path d=\"M 10 -2 L 10 158 A 20 20, 0, 0, 0, 30 178 L 160 178\" class=\"arrow arrow2\"></path><path d=\"M 160 178 L 210 178\" class=\"arrow arrow2\"></path><path d=\"M 110 88 L 260 88\" class=\"arrow arrow1\"></path><path d=\"M 10 -2 L 310 -2\" class=\"arrow arrow0\"></path><path d=\"M 260 88 L 290 88 A 20 20, 0, 0, 0, 310 68 L 310 -2\" class=\"arrow arrow1\"></path><path d=\"M 210 178 L 360 178\" class=\"arrow arrow2\"></path><path d=\"M 360 178 L 410 178\" class=\"arrow arrow2\"></path><path d=\"M 410 178 L 460 178\" class=\"arrow arrow2\"></path><path d=\"M 310 -2 L 510 -2\" class=\"arrow arrow0\"></path><path d=\"M 460 178 L 490 178 A 20 20, 0, 0, 0, 510 158 L 510 -2\" class=\"arrow arrow2\"></path><path d=\"M 510 -2 L 510 248 A 20 20, 0, 0, 0, 530 268 L 560 268\" class=\"arrow arrow3\"></path><path d=\"M 510 -2 L 610 -2\" class=\"arrow arrow0\"></path><path d=\"M 560 268 L 590 268 A 20 20, 0, 0, 0, 610 248 L 610 -2\" class=\"arrow arrow3\"></path></g><g class=\"commit-bullets\"><circle cx=\"10\" cy=\"-2\" r=\"10\" class=\"commit 0-d16040c commit0\"></circle><circle cx=\"60\" cy=\"88\" r=\"10\" class=\"commit 1-b6740a9 commit1\"></circle><circle cx=\"110\" cy=\"88\" r=\"10\" class=\"commit 2-e6fd99b commit1\"></circle><circle cx=\"160\" cy=\"178\" r=\"10\" class=\"commit 3-22fcb8f commit2\"></circle><circle cx=\"210\" cy=\"178\" r=\"10\" class=\"commit 4-631e963 commit2\"></circle><circle cx=\"260\" cy=\"88\" r=\"10\" class=\"commit 5-841b8e3 commit1\"></circle><circle cx=\"310\" cy=\"-2\" r=\"10\" class=\"commit 6-fdaca1e commit0\"></circle><circle cx=\"310\" cy=\"-2\" r=\"6\" class=\"commit commit-merge 6-fdaca1e commit0\"></circle><circle cx=\"360\" cy=\"178\" r=\"10\" class=\"commit 7-c68ec83 commit2\"></circle><circle cx=\"410\" cy=\"178\" r=\"10\" class=\"commit 8-5951039 commit2\"></circle><circle cx=\"460\" cy=\"178\" r=\"10\" class=\"commit 9-f09c612 commit2\"></circle><circle cx=\"510\" cy=\"-2\" r=\"10\" class=\"commit 10-271e90b commit0\"></circle><circle cx=\"510\" cy=\"-2\" r=\"6\" class=\"commit commit-merge 10-271e90b commit0\"></circle><circle cx=\"560\" cy=\"268\" r=\"10\" class=\"commit 11-9c75ca1 commit3\"></circle><circle cx=\"610\" cy=\"-2\" r=\"10\" class=\"commit 12-640cbdd commit0\"></circle><circle cx=\"610\" cy=\"-2\" r=\"6\" class=\"commit commit-merge 12-640cbdd commit0\"></circle></g><g class=\"commit-labels\"><g transform=\"translate(-29.2609375, 26.0703125) rotate(-45, 0, -2)\"><rect class=\"commit-label-bkg\" x=\"-15.6328125\" y=\"11.5\" width=\"51.265625\" height=\"15\"></rect><text x=\"-13.6328125\" y=\"23\" class=\"commit-label\">0-d16040c</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 50, 88)\"><rect class=\"commit-label-bkg\" x=\"33.86962890625\" y=\"101.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"35.86962890625\" y=\"113\" class=\"commit-label\">1-b6740a9</text></g><g transform=\"translate(-28.581464843750002, 25.46236328125) rotate(-45, 100, 88)\"><rect class=\"commit-label-bkg\" x=\"85.26123046875\" y=\"101.5\" width=\"49.4775390625\" height=\"15\"></rect><text x=\"87.26123046875\" y=\"113\" class=\"commit-label\">2-e6fd99b</text></g><g transform=\"translate(-27.2280859375, 24.251445312500003) rotate(-45, 150, 178)\"><rect class=\"commit-label-bkg\" x=\"137.0419921875\" y=\"191.5\" width=\"45.916015625\" height=\"15\"></rect><text x=\"139.0419921875\" y=\"203\" class=\"commit-label\">3-22fcb8f</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 200, 178)\"><rect class=\"commit-label-bkg\" x=\"183.86962890625\" y=\"191.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"185.86962890625\" y=\"203\" class=\"commit-label\">4-631e963</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 250, 88)\"><rect class=\"commit-label-bkg\" x=\"233.86962890625\" y=\"101.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"235.86962890625\" y=\"113\" class=\"commit-label\">5-841b8e3</text></g><g transform=\"translate(-29.212324218750002, 26.02681640625) rotate(-45, 350, 178)\"><rect class=\"commit-label-bkg\" x=\"334.43115234375\" y=\"191.5\" width=\"51.1376953125\" height=\"15\"></rect><text x=\"336.43115234375\" y=\"203\" class=\"commit-label\">7-c68ec83</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 400, 178)\"><rect class=\"commit-label-bkg\" x=\"383.86962890625\" y=\"191.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"385.86962890625\" y=\"203\" class=\"commit-label\">8-5951039</text></g><g transform=\"translate(-28.368085937500002, 25.2714453125) rotate(-45, 450, 178)\"><rect class=\"commit-label-bkg\" x=\"435.5419921875\" y=\"191.5\" width=\"48.916015625\" height=\"15\"></rect><text x=\"437.5419921875\" y=\"203\" class=\"commit-label\">9-f09c612</text></g><g transform=\"translate(-31.043671875, 27.665390625) rotate(-45, 550, 268)\"><rect class=\"commit-label-bkg\" x=\"532.021484375\" y=\"281.5\" width=\"55.95703125\" height=\"15\"></rect><text x=\"534.021484375\" y=\"293\" class=\"commit-label\">11-9c75ca1</text></g></g></svg>","diagramHtmlDark":"<svg id=\"diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 841.8359375px;\" viewBox=\"-183.8359375 -20.5 841.8359375 357.0306701660156\" role=\"graphics-document document\" aria-roledescription=\"gitGraph\"><style>\n    #diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .error-icon{fill:#a44141;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .error-text{fill:#ddd;stroke:#ddd;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .edge-thickness-normal{stroke-width:1px;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .edge-thickness-thick{stroke-width:3.5px;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .edge-pattern-solid{stroke-dasharray:0;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .marker.cross{stroke:lightgrey;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 p{margin:0;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-id,#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-msg,#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch-label0{fill:#2c2c2c;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit0{stroke:hsl(180, 1.5873015873%, 48.3529411765%);fill:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-highlight0{stroke:rgb(133.6571428571, 129.7428571428, 129.7428571428);fill:rgb(133.6571428571, 129.7428571428, 129.7428571428);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .label0{fill:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .arrow0{stroke:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch-label1{fill:lightgrey;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit1{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-highlight1{stroke:rgb(93.5483870969, 221.4516129033, 139.677419355);fill:rgb(93.5483870969, 221.4516129033, 139.677419355);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .label1{fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .arrow1{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch-label2{fill:lightgrey;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit2{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-highlight2{stroke:rgb(149.4437086091, 117.6092715231, 107.5562913906);fill:rgb(149.4437086091, 117.6092715231, 107.5562913906);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .label2{fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .arrow2{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch-label3{fill:#2c2c2c;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit3{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-highlight3{stroke:rgb(99.9811320754, 162.7735849057, 202.0188679245);fill:rgb(99.9811320754, 162.7735849057, 202.0188679245);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .label3{fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .arrow3{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch-label4{fill:lightgrey;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit4{stroke:hsl(0, 83.3333333333%, 43.5294117647%);fill:hsl(0, 83.3333333333%, 43.5294117647%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-highlight4{stroke:rgb(51.5000000001, 236.5, 236.5);fill:rgb(51.5000000001, 236.5, 236.5);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .label4{fill:hsl(0, 83.3333333333%, 43.5294117647%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .arrow4{stroke:hsl(0, 83.3333333333%, 43.5294117647%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch-label5{fill:lightgrey;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit5{stroke:hsl(289.1666666667, 100%, 24.1176470588%);fill:hsl(289.1666666667, 100%, 24.1176470588%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-highlight5{stroke:rgb(154.2083333334, 255, 132.0000000001);fill:rgb(154.2083333334, 255, 132.0000000001);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .label5{fill:hsl(289.1666666667, 100%, 24.1176470588%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .arrow5{stroke:hsl(289.1666666667, 100%, 24.1176470588%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch-label6{fill:lightgrey;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit6{stroke:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);fill:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-highlight6{stroke:rgb(51.331168831, 135.1948051946, 253.6688311688);fill:rgb(51.331168831, 135.1948051946, 253.6688311688);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .label6{fill:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .arrow6{stroke:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch-label7{fill:lightgrey;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit7{stroke:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);fill:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-highlight7{stroke:rgb(206.1818181817, 89.948051948, 241.051948052);fill:rgb(206.1818181817, 89.948051948, 241.051948052);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .label7{fill:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .arrow7{stroke:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch-label8{fill:#2c2c2c;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit8{stroke:hsl(180, 1.5873015873%, 48.3529411765%);fill:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-highlight8{stroke:rgb(133.6571428571, 129.7428571428, 129.7428571428);fill:rgb(133.6571428571, 129.7428571428, 129.7428571428);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .label8{fill:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .arrow8{stroke:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch-label9{fill:lightgrey;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit9{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-highlight9{stroke:rgb(93.5483870969, 221.4516129033, 139.677419355);fill:rgb(93.5483870969, 221.4516129033, 139.677419355);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .label9{fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .arrow9{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch-label10{fill:lightgrey;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit10{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-highlight10{stroke:rgb(149.4437086091, 117.6092715231, 107.5562913906);fill:rgb(149.4437086091, 117.6092715231, 107.5562913906);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .label10{fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .arrow10{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch-label11{fill:#2c2c2c;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit11{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-highlight11{stroke:rgb(99.9811320754, 162.7735849057, 202.0188679245);fill:rgb(99.9811320754, 162.7735849057, 202.0188679245);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .label11{fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .arrow11{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .branch{stroke-width:1;stroke:lightgrey;stroke-dasharray:2;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-label{font-size:10px;fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-label-bkg{font-size:10px;fill:hsl(180, 1.5873015873%, 28.3529411765%);opacity:0.5;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .tag-label{font-size:10px;fill:#e0dfdf;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .tag-label-bkg{fill:#1f2020;stroke:#cccccc;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .tag-hole{fill:#ccc;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-merge{stroke:#1f2020;fill:#1f2020;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-reverse{stroke:#1f2020;fill:#1f2020;stroke-width:3;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .commit-highlight-inner{stroke:#1f2020;fill:#1f2020;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .arrow{stroke-width:8;stroke-linecap:round;fill:none;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .gitTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 .node .neo-node{stroke:#ccc;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 [data-look=\"neo\"].node rect,#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 [data-look=\"neo\"].cluster rect,#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 [data-look=\"neo\"].node polygon{stroke:url(#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 [data-look=\"neo\"].node path{stroke:url(#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400-gradient);stroke-width:1px;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 [data-look=\"neo\"].node circle{stroke:url(#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><defs><linearGradient id=\"diagram-46724fd720b55dac72eca847139c5c4954fbd4bcaec2d17f735388b19377b400-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></defs><g class=\"commit-bullets\"></g><g class=\"commit-labels\"></g><g><line x1=\"0\" y1=\"-2\" x2=\"650\" y2=\"-2\" class=\"branch branch0\"></line><rect class=\"branchLabelBkg label0\" style=\"\" rx=\"4\" ry=\"4\" x=\"-68.6875\" y=\"1.5\" width=\"52.6875\" height=\"21\" transform=\"translate(-19, -14)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label0\" transform=\"translate(-78.6875, -12.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">main</tspan></text></g></g><line x1=\"0\" y1=\"88\" x2=\"650\" y2=\"88\" class=\"branch branch1\"></line><rect class=\"branchLabelBkg label1\" style=\"\" rx=\"4\" ry=\"4\" x=\"-156.8359375\" y=\"1.5\" width=\"140.8359375\" height=\"21\" transform=\"translate(-19, 76)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label1\" transform=\"translate(-166.8359375, 77.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">docs/new-feature</tspan></text></g></g><line x1=\"0\" y1=\"178\" x2=\"650\" y2=\"178\" class=\"branch branch2\"></line><rect class=\"branchLabelBkg label2\" style=\"\" rx=\"4\" ry=\"4\" x=\"-147.84375\" y=\"1.5\" width=\"131.84375\" height=\"21\" transform=\"translate(-19, 166)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label2\" transform=\"translate(-157.84375, 167.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">docs/fun-tutorial</tspan></text></g></g><line x1=\"0\" y1=\"268\" x2=\"650\" y2=\"268\" class=\"branch branch3\"></line><rect class=\"branchLabelBkg label3\" style=\"\" rx=\"4\" ry=\"4\" x=\"-123.9140625\" y=\"1\" width=\"107.9140625\" height=\"22\" transform=\"translate(-19, 256)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label3\" transform=\"translate(-133.9140625, 257)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">docs/fix-typo</tspan></text></g></g></g><g class=\"commit-arrows\"><path d=\"M 10 -2 L 10 68 A 20 20, 0, 0, 0, 30 88 L 60 88\" class=\"arrow arrow1\"></path><path d=\"M 60 88 L 110 88\" class=\"arrow arrow1\"></path><path d=\"M 10 -2 L 10 158 A 20 20, 0, 0, 0, 30 178 L 160 178\" class=\"arrow arrow2\"></path><path d=\"M 160 178 L 210 178\" class=\"arrow arrow2\"></path><path d=\"M 110 88 L 260 88\" class=\"arrow arrow1\"></path><path d=\"M 10 -2 L 310 -2\" class=\"arrow arrow0\"></path><path d=\"M 260 88 L 290 88 A 20 20, 0, 0, 0, 310 68 L 310 -2\" class=\"arrow arrow1\"></path><path d=\"M 210 178 L 360 178\" class=\"arrow arrow2\"></path><path d=\"M 360 178 L 410 178\" class=\"arrow arrow2\"></path><path d=\"M 410 178 L 460 178\" class=\"arrow arrow2\"></path><path d=\"M 310 -2 L 510 -2\" class=\"arrow arrow0\"></path><path d=\"M 460 178 L 490 178 A 20 20, 0, 0, 0, 510 158 L 510 -2\" class=\"arrow arrow2\"></path><path d=\"M 510 -2 L 510 248 A 20 20, 0, 0, 0, 530 268 L 560 268\" class=\"arrow arrow3\"></path><path d=\"M 510 -2 L 610 -2\" class=\"arrow arrow0\"></path><path d=\"M 560 268 L 590 268 A 20 20, 0, 0, 0, 610 248 L 610 -2\" class=\"arrow arrow3\"></path></g><g class=\"commit-bullets\"><circle cx=\"10\" cy=\"-2\" r=\"10\" class=\"commit 0-a5993bd commit0\"></circle><circle cx=\"60\" cy=\"88\" r=\"10\" class=\"commit 1-dd04e75 commit1\"></circle><circle cx=\"110\" cy=\"88\" r=\"10\" class=\"commit 2-97c3bc7 commit1\"></circle><circle cx=\"160\" cy=\"178\" r=\"10\" class=\"commit 3-f07d84c commit2\"></circle><circle cx=\"210\" cy=\"178\" r=\"10\" class=\"commit 4-63d614a commit2\"></circle><circle cx=\"260\" cy=\"88\" r=\"10\" class=\"commit 5-360017b commit1\"></circle><circle cx=\"310\" cy=\"-2\" r=\"10\" class=\"commit 6-547aab7 commit0\"></circle><circle cx=\"310\" cy=\"-2\" r=\"6\" class=\"commit commit-merge 6-547aab7 commit0\"></circle><circle cx=\"360\" cy=\"178\" r=\"10\" class=\"commit 7-1a5d962 commit2\"></circle><circle cx=\"410\" cy=\"178\" r=\"10\" class=\"commit 8-132456f commit2\"></circle><circle cx=\"460\" cy=\"178\" r=\"10\" class=\"commit 9-1592249 commit2\"></circle><circle cx=\"510\" cy=\"-2\" r=\"10\" class=\"commit 10-8b7b0d8 commit0\"></circle><circle cx=\"510\" cy=\"-2\" r=\"6\" class=\"commit commit-merge 10-8b7b0d8 commit0\"></circle><circle cx=\"560\" cy=\"268\" r=\"10\" class=\"commit 11-8c76c75 commit3\"></circle><circle cx=\"610\" cy=\"-2\" r=\"10\" class=\"commit 12-f8402b1 commit0\"></circle><circle cx=\"610\" cy=\"-2\" r=\"6\" class=\"commit commit-merge 12-f8402b1 commit0\"></circle></g><g class=\"commit-labels\"><g transform=\"translate(-29.474687499999998, 26.2615625) rotate(-45, 0, -2)\"><rect class=\"commit-label-bkg\" x=\"-15.9140625\" y=\"11.5\" width=\"51.828125\" height=\"15\"></rect><text x=\"-13.9140625\" y=\"23\" class=\"commit-label\">0-a5993bd</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 50, 88)\"><rect class=\"commit-label-bkg\" x=\"33.86962890625\" y=\"101.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"35.86962890625\" y=\"113\" class=\"commit-label\">1-dd04e75</text></g><g transform=\"translate(-29.212324218750002, 26.02681640625) rotate(-45, 100, 88)\"><rect class=\"commit-label-bkg\" x=\"84.43115234375\" y=\"101.5\" width=\"51.1376953125\" height=\"15\"></rect><text x=\"86.43115234375\" y=\"113\" class=\"commit-label\">2-97c3bc7</text></g><g transform=\"translate(-28.2040625, 25.1246875) rotate(-45, 150, 178)\"><rect class=\"commit-label-bkg\" x=\"135.7578125\" y=\"191.5\" width=\"48.484375\" height=\"15\"></rect><text x=\"137.7578125\" y=\"203\" class=\"commit-label\">3-f07d84c</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 200, 178)\"><rect class=\"commit-label-bkg\" x=\"183.86962890625\" y=\"191.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"185.86962890625\" y=\"203\" class=\"commit-label\">4-63d614a</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 250, 88)\"><rect class=\"commit-label-bkg\" x=\"233.86962890625\" y=\"101.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"235.86962890625\" y=\"113\" class=\"commit-label\">5-360017b</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 350, 178)\"><rect class=\"commit-label-bkg\" x=\"333.86962890625\" y=\"191.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"335.86962890625\" y=\"203\" class=\"commit-label\">7-1a5d962</text></g><g transform=\"translate(-28.49908203125, 25.388652343750003) rotate(-45, 400, 178)\"><rect class=\"commit-label-bkg\" x=\"385.36962890625\" y=\"191.5\" width=\"49.2607421875\" height=\"15\"></rect><text x=\"387.36962890625\" y=\"203\" class=\"commit-label\">8-132456f</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 450, 178)\"><rect class=\"commit-label-bkg\" x=\"433.86962890625\" y=\"191.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"435.86962890625\" y=\"203\" class=\"commit-label\">9-1592249</text></g><g transform=\"translate(-31.043671875, 27.665390625) rotate(-45, 550, 268)\"><rect class=\"commit-label-bkg\" x=\"532.021484375\" y=\"281.5\" width=\"55.95703125\" height=\"15\"></rect><text x=\"534.021484375\" y=\"293\" class=\"commit-label\">11-8c76c75</text></g></g></svg>"},"children":[]},{"$$mdtype":"Tag","name":"details","attributes":{},"children":[{"$$mdtype":"Tag","name":"summary","attributes":{},"children":["Diagram source for github flow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Diagram source for the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://mermaid.js.org/syntax/gitgraph.html"},"children":["mermaidjs gitgraph"]}," diagram."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"    gitGraph\n       commit\n       branch docs/new-feature\n       commit\n       commit\n       checkout main\n       branch docs/fun-tutorial\n       commit\n       commit\n       checkout docs/new-feature\n       commit\n       checkout main\n       merge docs/new-feature\n       checkout docs/fun-tutorial\n       commit\n       commit\n       commit\n       checkout main\n       merge docs/fun-tutorial\n       branch docs/fix-typo\n       commit\n       checkout main\n       merge docs/fix-typo\n\n","lang":"text"},"children":[]}]},"\nThe only interaction with the main branch in this workflow is when branches are merged in to it; no commits are made directly.\nAdopting this approach means that changes can be checked before they are applied to the project itself.\n",{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success","name":"GitHub flow: not just for GitHub"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The GitHub flow pattern is a bit of a misnomer!"," ","You can use this pattern with any git provider, so if you are working with GitLab, Azure DevOps, or another platform - this approach can work for you, too."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Many docs-as-code projects use a continuous deployment approach, updating the published documentation as soon as changes are made to the main branch."," ","By using a GitHub flow, the opportunity to quality check and review the changes easily slots into the process."," ","For teams with more specific review or signoff requirements, this can be achieved through additional workflows such as labels used with the pull/merge request."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Successful use of the GitHub flow does require git skills and the discipline to use the process for every change."," ","Since git is widely-used across many different industries, support and learning resources are readily available."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"workflows-for-versioned-documentation","__idx":3},"children":["Workflows for versioned documentation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Not all documentation is as simple as updating the published version of a single branch whenever there is something to share."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Many projects maintain documentation for multiple versions of a product or project and all versions may need updates over time."," ","Some tools offer support for managing multiple versions within one project, but if you need to maintain multiple copies of the documentation and release each one independently, then try using a versioned branches approach."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each version of the documentation has its own \"main\" branch, usually named for the high-level version that it represents."," ","Changes are made to the branch, either directly as in trunk-based development, or using branches like GitHub flow does."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following diagram shows a simplified workflow for working with multiple documentation versions:"]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"%%{init: {'gitGraph': {'mainBranchName': 'v1'}} }%%\n    gitGraph\n       commit\n       commit tag: \"v1.0\"\n       commit tag: \"v1.1\"\n       commit\n       branch v2\n       commit\n       commit\n       commit tag: \"v2.0\"\n       commit\n       commit\n       checkout v1\n       commit\n       commit\n       commit tag: \"v1.2\"\n       checkout v2\n       commit\n       commit\n       commit tag: \"v2.1\"\n       commit\n       branch v3\n       commit\n","diagramHtml":"<svg id=\"diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 936px;\" viewBox=\"-78 -36.70000076293945 936 284.5243225097656\" role=\"graphics-document document\" aria-roledescription=\"gitGraph\"><style>\n    #diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .error-icon{fill:#552222;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .error-text{fill:#552222;stroke:#552222;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .edge-thickness-normal{stroke-width:1px;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .edge-thickness-thick{stroke-width:3.5px;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .edge-pattern-solid{stroke-dasharray:0;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .marker{fill:#333333;stroke:#333333;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .marker.cross{stroke:#333333;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 p{margin:0;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-id,#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-msg,#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch-label0{fill:#ffffff;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit0{stroke:hsl(240, 100%, 46.2745098039%);fill:hsl(240, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-highlight0{stroke:hsl(60, 100%, 3.7254901961%);fill:hsl(60, 100%, 3.7254901961%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .label0{fill:hsl(240, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .arrow0{stroke:hsl(240, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch-label1{fill:black;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit1{stroke:hsl(60, 100%, 43.5294117647%);fill:hsl(60, 100%, 43.5294117647%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-highlight1{stroke:rgb(0, 0, 160.5);fill:rgb(0, 0, 160.5);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .label1{fill:hsl(60, 100%, 43.5294117647%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .arrow1{stroke:hsl(60, 100%, 43.5294117647%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch-label2{fill:black;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit2{stroke:hsl(80, 100%, 46.2745098039%);fill:hsl(80, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-highlight2{stroke:rgb(48.8333333334, 0, 146.5000000001);fill:rgb(48.8333333334, 0, 146.5000000001);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .label2{fill:hsl(80, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .arrow2{stroke:hsl(80, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch-label3{fill:#ffffff;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit3{stroke:hsl(210, 100%, 46.2745098039%);fill:hsl(210, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-highlight3{stroke:rgb(146.5000000001, 73.2500000001, 0);fill:rgb(146.5000000001, 73.2500000001, 0);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .label3{fill:hsl(210, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .arrow3{stroke:hsl(210, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch-label4{fill:black;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit4{stroke:hsl(180, 100%, 46.2745098039%);fill:hsl(180, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-highlight4{stroke:rgb(146.5000000001, 0, 0);fill:rgb(146.5000000001, 0, 0);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .label4{fill:hsl(180, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .arrow4{stroke:hsl(180, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch-label5{fill:black;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit5{stroke:hsl(150, 100%, 46.2745098039%);fill:hsl(150, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-highlight5{stroke:rgb(146.5000000001, 0, 73.2500000001);fill:rgb(146.5000000001, 0, 73.2500000001);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .label5{fill:hsl(150, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .arrow5{stroke:hsl(150, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch-label6{fill:black;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit6{stroke:hsl(300, 100%, 46.2745098039%);fill:hsl(300, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-highlight6{stroke:rgb(0, 146.5000000001, 0);fill:rgb(0, 146.5000000001, 0);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .label6{fill:hsl(300, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .arrow6{stroke:hsl(300, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch-label7{fill:black;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit7{stroke:hsl(0, 100%, 46.2745098039%);fill:hsl(0, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-highlight7{stroke:rgb(0, 146.5000000001, 146.5000000001);fill:rgb(0, 146.5000000001, 146.5000000001);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .label7{fill:hsl(0, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .arrow7{stroke:hsl(0, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch-label8{fill:#ffffff;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit8{stroke:hsl(240, 100%, 46.2745098039%);fill:hsl(240, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-highlight8{stroke:hsl(60, 100%, 3.7254901961%);fill:hsl(60, 100%, 3.7254901961%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .label8{fill:hsl(240, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .arrow8{stroke:hsl(240, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch-label9{fill:black;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit9{stroke:hsl(60, 100%, 43.5294117647%);fill:hsl(60, 100%, 43.5294117647%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-highlight9{stroke:rgb(0, 0, 160.5);fill:rgb(0, 0, 160.5);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .label9{fill:hsl(60, 100%, 43.5294117647%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .arrow9{stroke:hsl(60, 100%, 43.5294117647%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch-label10{fill:black;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit10{stroke:hsl(80, 100%, 46.2745098039%);fill:hsl(80, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-highlight10{stroke:rgb(48.8333333334, 0, 146.5000000001);fill:rgb(48.8333333334, 0, 146.5000000001);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .label10{fill:hsl(80, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .arrow10{stroke:hsl(80, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch-label11{fill:#ffffff;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit11{stroke:hsl(210, 100%, 46.2745098039%);fill:hsl(210, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-highlight11{stroke:rgb(146.5000000001, 73.2500000001, 0);fill:rgb(146.5000000001, 73.2500000001, 0);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .label11{fill:hsl(210, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .arrow11{stroke:hsl(210, 100%, 46.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .branch{stroke-width:1;stroke:#333333;stroke-dasharray:2;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-label{font-size:10px;fill:#000021;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-label-bkg{font-size:10px;fill:#ffffde;opacity:0.5;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .tag-label{font-size:10px;fill:#131300;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .tag-label-bkg{fill:#ECECFF;stroke:hsl(240, 60%, 86.2745098039%);}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .tag-hole{fill:#333;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-merge{stroke:#ECECFF;fill:#ECECFF;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-reverse{stroke:#ECECFF;fill:#ECECFF;stroke-width:3;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .commit-highlight-inner{stroke:#ECECFF;fill:#ECECFF;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .arrow{stroke-width:8;stroke-linecap:round;fill:none;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .gitTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 .node .neo-node{stroke:#9370DB;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 [data-look=\"neo\"].node rect,#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 [data-look=\"neo\"].cluster rect,#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-afe7c49e1beb54dc5808b8719599d2d01523713f0b629223496c96fff6811a25 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><g class=\"commit-bullets\"></g><g class=\"commit-labels\"></g><g><line x1=\"0\" y1=\"-2\" x2=\"850\" y2=\"-2\" class=\"branch branch0\"></line><rect class=\"branchLabelBkg label0\" style=\"\" rx=\"4\" ry=\"4\" x=\"-51\" y=\"1.5\" width=\"35\" height=\"21\" transform=\"translate(-19, -14)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label0\" transform=\"translate(-61, -12.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">v1</tspan></text></g></g><line x1=\"0\" y1=\"88\" x2=\"850\" y2=\"88\" class=\"branch branch1\"></line><rect class=\"branchLabelBkg label1\" style=\"\" rx=\"4\" ry=\"4\" x=\"-51\" y=\"1.5\" width=\"35\" height=\"21\" transform=\"translate(-19, 76)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label1\" transform=\"translate(-61, 77.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">v2</tspan></text></g></g><line x1=\"0\" y1=\"178\" x2=\"850\" y2=\"178\" class=\"branch branch2\"></line><rect class=\"branchLabelBkg label2\" style=\"\" rx=\"4\" ry=\"4\" x=\"-51\" y=\"1.5\" width=\"35\" height=\"21\" transform=\"translate(-19, 166)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label2\" transform=\"translate(-61, 167.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">v3</tspan></text></g></g></g><g class=\"commit-arrows\"><path d=\"M 10 -2 L 60 -2\" class=\"arrow arrow0\"></path><path d=\"M 60 -2 L 110 -2\" class=\"arrow arrow0\"></path><path d=\"M 110 -2 L 160 -2\" class=\"arrow arrow0\"></path><path d=\"M 160 -2 L 160 68 A 20 20, 0, 0, 0, 180 88 L 210 88\" class=\"arrow arrow1\"></path><path d=\"M 210 88 L 260 88\" class=\"arrow arrow1\"></path><path d=\"M 260 88 L 310 88\" class=\"arrow arrow1\"></path><path d=\"M 310 88 L 360 88\" class=\"arrow arrow1\"></path><path d=\"M 360 88 L 410 88\" class=\"arrow arrow1\"></path><path d=\"M 160 -2 L 460 -2\" class=\"arrow arrow0\"></path><path d=\"M 460 -2 L 510 -2\" class=\"arrow arrow0\"></path><path d=\"M 510 -2 L 560 -2\" class=\"arrow arrow0\"></path><path d=\"M 410 88 L 610 88\" class=\"arrow arrow1\"></path><path d=\"M 610 88 L 660 88\" class=\"arrow arrow1\"></path><path d=\"M 660 88 L 710 88\" class=\"arrow arrow1\"></path><path d=\"M 710 88 L 760 88\" class=\"arrow arrow1\"></path><path d=\"M 760 88 L 760 158 A 20 20, 0, 0, 0, 780 178 L 810 178\" class=\"arrow arrow2\"></path></g><g class=\"commit-bullets\"><circle cx=\"10\" cy=\"-2\" r=\"10\" class=\"commit 0-2fcc416 commit0\"></circle><circle cx=\"60\" cy=\"-2\" r=\"10\" class=\"commit 1-4936da4 commit0\"></circle><circle cx=\"110\" cy=\"-2\" r=\"10\" class=\"commit 2-c5d035b commit0\"></circle><circle cx=\"160\" cy=\"-2\" r=\"10\" class=\"commit 3-b46125c commit0\"></circle><circle cx=\"210\" cy=\"88\" r=\"10\" class=\"commit 4-46d52e4 commit1\"></circle><circle cx=\"260\" cy=\"88\" r=\"10\" class=\"commit 5-6de51a8 commit1\"></circle><circle cx=\"310\" cy=\"88\" r=\"10\" class=\"commit 6-3221da2 commit1\"></circle><circle cx=\"360\" cy=\"88\" r=\"10\" class=\"commit 7-b1a5147 commit1\"></circle><circle cx=\"410\" cy=\"88\" r=\"10\" class=\"commit 8-fbda2ea commit1\"></circle><circle cx=\"460\" cy=\"-2\" r=\"10\" class=\"commit 9-3c89913 commit0\"></circle><circle cx=\"510\" cy=\"-2\" r=\"10\" class=\"commit 10-53cfe0d commit0\"></circle><circle cx=\"560\" cy=\"-2\" r=\"10\" class=\"commit 11-576d027 commit0\"></circle><circle cx=\"610\" cy=\"88\" r=\"10\" class=\"commit 12-600e0ce commit1\"></circle><circle cx=\"660\" cy=\"88\" r=\"10\" class=\"commit 13-2d44aec commit1\"></circle><circle cx=\"710\" cy=\"88\" r=\"10\" class=\"commit 14-7167354 commit1\"></circle><circle cx=\"760\" cy=\"88\" r=\"10\" class=\"commit 15-585b236 commit1\"></circle><circle cx=\"810\" cy=\"178\" r=\"10\" class=\"commit 16-a8436e0 commit2\"></circle></g><g class=\"commit-labels\"><g transform=\"translate(-28.154707031250002, 25.08052734375) rotate(-45, 0, -2)\"><rect class=\"commit-label-bkg\" x=\"-14.17724609375\" y=\"11.5\" width=\"48.3544921875\" height=\"15\"></rect><text x=\"-12.17724609375\" y=\"23\" class=\"commit-label\">0-2fcc416</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 50, -2)\"><rect class=\"commit-label-bkg\" x=\"33.86962890625\" y=\"11.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"35.86962890625\" y=\"23\" class=\"commit-label\">1-4936da4</text></g><polygon class=\"tag-label-bkg\" points=\"38.330078125,-19.2  \n      38.330078125,-23.2\n      46.330078125,-28.7\n      73.669921875,-28.7\n      73.669921875,-13.7\n      46.330078125,-13.7\"></polygon><circle cy=\"-21.2\" cx=\"42.330078125\" r=\"1.5\" class=\"tag-hole\"></circle><text y=\"-18\" class=\"tag-label\" x=\"50.330078125\">v1.0</text><g transform=\"translate(-29.425703125000002, 26.217734375) rotate(-45, 100, -2)\"><rect class=\"commit-label-bkg\" x=\"84.150390625\" y=\"11.5\" width=\"51.69921875\" height=\"15\"></rect><text x=\"86.150390625\" y=\"23\" class=\"commit-label\">2-c5d035b</text></g><polygon class=\"tag-label-bkg\" points=\"88.330078125,-19.2  \n      88.330078125,-23.2\n      96.330078125,-28.7\n      123.669921875,-28.7\n      123.669921875,-13.7\n      96.330078125,-13.7\"></polygon><circle cy=\"-21.2\" cx=\"92.330078125\" r=\"1.5\" class=\"tag-hole\"></circle><text y=\"-18\" class=\"tag-label\" x=\"100.330078125\">v1.1</text><g transform=\"translate(-29.2609375, 26.0703125) rotate(-45, 150, -2)\"><rect class=\"commit-label-bkg\" x=\"134.3671875\" y=\"11.5\" width=\"51.265625\" height=\"15\"></rect><text x=\"136.3671875\" y=\"23\" class=\"commit-label\">3-b46125c</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 200, 88)\"><rect class=\"commit-label-bkg\" x=\"183.86962890625\" y=\"101.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"185.86962890625\" y=\"113\" class=\"commit-label\">4-46d52e4</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 250, 88)\"><rect class=\"commit-label-bkg\" x=\"233.86962890625\" y=\"101.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"235.86962890625\" y=\"113\" class=\"commit-label\">5-6de51a8</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 300, 88)\"><rect class=\"commit-label-bkg\" x=\"283.86962890625\" y=\"101.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"285.86962890625\" y=\"113\" class=\"commit-label\">6-3221da2</text></g><polygon class=\"tag-label-bkg\" points=\"288.330078125,70.8  \n      288.330078125,66.8\n      296.330078125,61.3\n      323.669921875,61.3\n      323.669921875,76.3\n      296.330078125,76.3\"></polygon><circle cy=\"68.8\" cx=\"292.330078125\" r=\"1.5\" class=\"tag-hole\"></circle><text y=\"72\" class=\"tag-label\" x=\"300.330078125\">v2.0</text><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 350, 88)\"><rect class=\"commit-label-bkg\" x=\"333.86962890625\" y=\"101.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"335.86962890625\" y=\"113\" class=\"commit-label\">7-b1a5147</text></g><g transform=\"translate(-28.581464843750002, 25.46236328125) rotate(-45, 400, 88)\"><rect class=\"commit-label-bkg\" x=\"385.26123046875\" y=\"101.5\" width=\"49.4775390625\" height=\"15\"></rect><text x=\"387.26123046875\" y=\"113\" class=\"commit-label\">8-fbda2ea</text></g><g transform=\"translate(-29.425703125000002, 26.217734375) rotate(-45, 450, -2)\"><rect class=\"commit-label-bkg\" x=\"434.150390625\" y=\"11.5\" width=\"51.69921875\" height=\"15\"></rect><text x=\"436.150390625\" y=\"23\" class=\"commit-label\">9-3c89913</text></g><g transform=\"translate(-30.3178125, 27.0159375) rotate(-45, 500, -2)\"><rect class=\"commit-label-bkg\" x=\"482.9765625\" y=\"11.5\" width=\"54.046875\" height=\"15\"></rect><text x=\"484.9765625\" y=\"23\" class=\"commit-label\">10-53cfe0d</text></g><g transform=\"translate(-31.4704296875, 28.0472265625) rotate(-45, 550, -2)\"><rect class=\"commit-label-bkg\" x=\"531.4599609375\" y=\"11.5\" width=\"57.080078125\" height=\"15\"></rect><text x=\"533.4599609375\" y=\"23\" class=\"commit-label\">11-576d027</text></g><polygon class=\"tag-label-bkg\" points=\"538.330078125,-19.2  \n      538.330078125,-23.2\n      546.330078125,-28.7\n      573.669921875,-28.7\n      573.669921875,-13.7\n      546.330078125,-13.7\"></polygon><circle cy=\"-21.2\" cx=\"542.330078125\" r=\"1.5\" class=\"tag-hole\"></circle><text y=\"-18\" class=\"tag-label\" x=\"550.330078125\">v1.2</text><g transform=\"translate(-31.539082031249997, 28.10865234375) rotate(-45, 600, 88)\"><rect class=\"commit-label-bkg\" x=\"581.36962890625\" y=\"101.5\" width=\"57.2607421875\" height=\"15\"></rect><text x=\"583.36962890625\" y=\"113\" class=\"commit-label\">12-600e0ce</text></g><g transform=\"translate(-31.3746875, 27.9615625) rotate(-45, 650, 88)\"><rect class=\"commit-label-bkg\" x=\"631.5859375\" y=\"101.5\" width=\"56.828125\" height=\"15\"></rect><text x=\"633.5859375\" y=\"113\" class=\"commit-label\">13-2d44aec</text></g><g transform=\"translate(-31.752460937499997, 28.2995703125) rotate(-45, 700, 88)\"><rect class=\"commit-label-bkg\" x=\"681.0888671875\" y=\"101.5\" width=\"57.822265625\" height=\"15\"></rect><text x=\"683.0888671875\" y=\"113\" class=\"commit-label\">14-7167354</text></g><polygon class=\"tag-label-bkg\" points=\"688.330078125,70.8  \n      688.330078125,66.8\n      696.330078125,61.3\n      723.669921875,61.3\n      723.669921875,76.3\n      696.330078125,76.3\"></polygon><circle cy=\"68.8\" cx=\"692.330078125\" r=\"1.5\" class=\"tag-hole\"></circle><text y=\"72\" class=\"tag-label\" x=\"700.330078125\">v2.1</text><g transform=\"translate(-31.752460937499997, 28.2995703125) rotate(-45, 750, 88)\"><rect class=\"commit-label-bkg\" x=\"731.0888671875\" y=\"101.5\" width=\"57.822265625\" height=\"15\"></rect><text x=\"733.0888671875\" y=\"113\" class=\"commit-label\">15-585b236</text></g><g transform=\"translate(-31.752460937499997, 28.2995703125) rotate(-45, 800, 178)\"><rect class=\"commit-label-bkg\" x=\"781.0888671875\" y=\"191.5\" width=\"57.822265625\" height=\"15\"></rect><text x=\"783.0888671875\" y=\"203\" class=\"commit-label\">16-a8436e0</text></g></g></svg>","diagramHtmlDark":"<svg id=\"diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 936px;\" viewBox=\"-78 -36.70000076293945 936 284.5243225097656\" role=\"graphics-document document\" aria-roledescription=\"gitGraph\"><style>\n    #diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .error-icon{fill:#a44141;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .error-text{fill:#ddd;stroke:#ddd;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .edge-thickness-normal{stroke-width:1px;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .edge-thickness-thick{stroke-width:3.5px;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .edge-pattern-solid{stroke-dasharray:0;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .edge-pattern-dashed{stroke-dasharray:3;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .edge-pattern-dotted{stroke-dasharray:2;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .marker{fill:lightgrey;stroke:lightgrey;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .marker.cross{stroke:lightgrey;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f p{margin:0;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-id,#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-msg,#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms',verdana,arial,sans-serif;font-family:var(--mermaid-font-family);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch-label0{fill:#2c2c2c;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit0{stroke:hsl(180, 1.5873015873%, 48.3529411765%);fill:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-highlight0{stroke:rgb(133.6571428571, 129.7428571428, 129.7428571428);fill:rgb(133.6571428571, 129.7428571428, 129.7428571428);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .label0{fill:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .arrow0{stroke:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch-label1{fill:lightgrey;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit1{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-highlight1{stroke:rgb(93.5483870969, 221.4516129033, 139.677419355);fill:rgb(93.5483870969, 221.4516129033, 139.677419355);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .label1{fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .arrow1{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch-label2{fill:lightgrey;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit2{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-highlight2{stroke:rgb(149.4437086091, 117.6092715231, 107.5562913906);fill:rgb(149.4437086091, 117.6092715231, 107.5562913906);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .label2{fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .arrow2{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch-label3{fill:#2c2c2c;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit3{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-highlight3{stroke:rgb(99.9811320754, 162.7735849057, 202.0188679245);fill:rgb(99.9811320754, 162.7735849057, 202.0188679245);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .label3{fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .arrow3{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch-label4{fill:lightgrey;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit4{stroke:hsl(0, 83.3333333333%, 43.5294117647%);fill:hsl(0, 83.3333333333%, 43.5294117647%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-highlight4{stroke:rgb(51.5000000001, 236.5, 236.5);fill:rgb(51.5000000001, 236.5, 236.5);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .label4{fill:hsl(0, 83.3333333333%, 43.5294117647%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .arrow4{stroke:hsl(0, 83.3333333333%, 43.5294117647%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch-label5{fill:lightgrey;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit5{stroke:hsl(289.1666666667, 100%, 24.1176470588%);fill:hsl(289.1666666667, 100%, 24.1176470588%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-highlight5{stroke:rgb(154.2083333334, 255, 132.0000000001);fill:rgb(154.2083333334, 255, 132.0000000001);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .label5{fill:hsl(289.1666666667, 100%, 24.1176470588%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .arrow5{stroke:hsl(289.1666666667, 100%, 24.1176470588%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch-label6{fill:lightgrey;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit6{stroke:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);fill:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-highlight6{stroke:rgb(51.331168831, 135.1948051946, 253.6688311688);fill:rgb(51.331168831, 135.1948051946, 253.6688311688);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .label6{fill:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .arrow6{stroke:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch-label7{fill:lightgrey;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit7{stroke:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);fill:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-highlight7{stroke:rgb(206.1818181817, 89.948051948, 241.051948052);fill:rgb(206.1818181817, 89.948051948, 241.051948052);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .label7{fill:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .arrow7{stroke:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch-label8{fill:#2c2c2c;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit8{stroke:hsl(180, 1.5873015873%, 48.3529411765%);fill:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-highlight8{stroke:rgb(133.6571428571, 129.7428571428, 129.7428571428);fill:rgb(133.6571428571, 129.7428571428, 129.7428571428);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .label8{fill:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .arrow8{stroke:hsl(180, 1.5873015873%, 48.3529411765%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch-label9{fill:lightgrey;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit9{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-highlight9{stroke:rgb(93.5483870969, 221.4516129033, 139.677419355);fill:rgb(93.5483870969, 221.4516129033, 139.677419355);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .label9{fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .arrow9{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch-label10{fill:lightgrey;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit10{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-highlight10{stroke:rgb(149.4437086091, 117.6092715231, 107.5562913906);fill:rgb(149.4437086091, 117.6092715231, 107.5562913906);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .label10{fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .arrow10{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch-label11{fill:#2c2c2c;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit11{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-highlight11{stroke:rgb(99.9811320754, 162.7735849057, 202.0188679245);fill:rgb(99.9811320754, 162.7735849057, 202.0188679245);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .label11{fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .arrow11{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .branch{stroke-width:1;stroke:lightgrey;stroke-dasharray:2;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-label{font-size:10px;fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-label-bkg{font-size:10px;fill:hsl(180, 1.5873015873%, 28.3529411765%);opacity:0.5;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .tag-label{font-size:10px;fill:#e0dfdf;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .tag-label-bkg{fill:#1f2020;stroke:#cccccc;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .tag-hole{fill:#ccc;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-merge{stroke:#1f2020;fill:#1f2020;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-reverse{stroke:#1f2020;fill:#1f2020;stroke-width:3;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .commit-highlight-inner{stroke:#1f2020;fill:#1f2020;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .arrow{stroke-width:8;stroke-linecap:round;fill:none;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .gitTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f .node .neo-node{stroke:#ccc;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f [data-look=\"neo\"].node rect,#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f [data-look=\"neo\"].cluster rect,#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f [data-look=\"neo\"].node polygon{stroke:url(#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f [data-look=\"neo\"].node path{stroke:url(#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f-gradient);stroke-width:1px;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f [data-look=\"neo\"].node circle{stroke:url(#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><defs><linearGradient id=\"diagram-41cbe3afa04e15f59ab35ae05645ef95d03183a904681d039ed4f27d9e7f914f-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></defs><g class=\"commit-bullets\"></g><g class=\"commit-labels\"></g><g><line x1=\"0\" y1=\"-2\" x2=\"850\" y2=\"-2\" class=\"branch branch0\"></line><rect class=\"branchLabelBkg label0\" style=\"\" rx=\"4\" ry=\"4\" x=\"-51\" y=\"1.5\" width=\"35\" height=\"21\" transform=\"translate(-19, -14)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label0\" transform=\"translate(-61, -12.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">v1</tspan></text></g></g><line x1=\"0\" y1=\"88\" x2=\"850\" y2=\"88\" class=\"branch branch1\"></line><rect class=\"branchLabelBkg label1\" style=\"\" rx=\"4\" ry=\"4\" x=\"-51\" y=\"1.5\" width=\"35\" height=\"21\" transform=\"translate(-19, 76)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label1\" transform=\"translate(-61, 77.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">v2</tspan></text></g></g><line x1=\"0\" y1=\"178\" x2=\"850\" y2=\"178\" class=\"branch branch2\"></line><rect class=\"branchLabelBkg label2\" style=\"\" rx=\"4\" ry=\"4\" x=\"-51\" y=\"1.5\" width=\"35\" height=\"21\" transform=\"translate(-19, 166)\"></rect><g class=\"branchLabel\"><g class=\"label branch-label2\" transform=\"translate(-61, 167.5)\"><text><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">v3</tspan></text></g></g></g><g class=\"commit-arrows\"><path d=\"M 10 -2 L 60 -2\" class=\"arrow arrow0\"></path><path d=\"M 60 -2 L 110 -2\" class=\"arrow arrow0\"></path><path d=\"M 110 -2 L 160 -2\" class=\"arrow arrow0\"></path><path d=\"M 160 -2 L 160 68 A 20 20, 0, 0, 0, 180 88 L 210 88\" class=\"arrow arrow1\"></path><path d=\"M 210 88 L 260 88\" class=\"arrow arrow1\"></path><path d=\"M 260 88 L 310 88\" class=\"arrow arrow1\"></path><path d=\"M 310 88 L 360 88\" class=\"arrow arrow1\"></path><path d=\"M 360 88 L 410 88\" class=\"arrow arrow1\"></path><path d=\"M 160 -2 L 460 -2\" class=\"arrow arrow0\"></path><path d=\"M 460 -2 L 510 -2\" class=\"arrow arrow0\"></path><path d=\"M 510 -2 L 560 -2\" class=\"arrow arrow0\"></path><path d=\"M 410 88 L 610 88\" class=\"arrow arrow1\"></path><path d=\"M 610 88 L 660 88\" class=\"arrow arrow1\"></path><path d=\"M 660 88 L 710 88\" class=\"arrow arrow1\"></path><path d=\"M 710 88 L 760 88\" class=\"arrow arrow1\"></path><path d=\"M 760 88 L 760 158 A 20 20, 0, 0, 0, 780 178 L 810 178\" class=\"arrow arrow2\"></path></g><g class=\"commit-bullets\"><circle cx=\"10\" cy=\"-2\" r=\"10\" class=\"commit 0-b3e8c09 commit0\"></circle><circle cx=\"60\" cy=\"-2\" r=\"10\" class=\"commit 1-f16a687 commit0\"></circle><circle cx=\"110\" cy=\"-2\" r=\"10\" class=\"commit 2-9f3a361 commit0\"></circle><circle cx=\"160\" cy=\"-2\" r=\"10\" class=\"commit 3-ac74711 commit0\"></circle><circle cx=\"210\" cy=\"88\" r=\"10\" class=\"commit 4-216d723 commit1\"></circle><circle cx=\"260\" cy=\"88\" r=\"10\" class=\"commit 5-5218f75 commit1\"></circle><circle cx=\"310\" cy=\"88\" r=\"10\" class=\"commit 6-e67b983 commit1\"></circle><circle cx=\"360\" cy=\"88\" r=\"10\" class=\"commit 7-daa6e1c commit1\"></circle><circle cx=\"410\" cy=\"88\" r=\"10\" class=\"commit 8-a2ea30a commit1\"></circle><circle cx=\"460\" cy=\"-2\" r=\"10\" class=\"commit 9-4179e2d commit0\"></circle><circle cx=\"510\" cy=\"-2\" r=\"10\" class=\"commit 10-47f41d7 commit0\"></circle><circle cx=\"560\" cy=\"-2\" r=\"10\" class=\"commit 11-855fbcc commit0\"></circle><circle cx=\"610\" cy=\"88\" r=\"10\" class=\"commit 12-24f730f commit1\"></circle><circle cx=\"660\" cy=\"88\" r=\"10\" class=\"commit 13-075c8aa commit1\"></circle><circle cx=\"710\" cy=\"88\" r=\"10\" class=\"commit 14-e20c373 commit1\"></circle><circle cx=\"760\" cy=\"88\" r=\"10\" class=\"commit 15-8eb834d commit1\"></circle><circle cx=\"810\" cy=\"178\" r=\"10\" class=\"commit 16-d6482ae commit2\"></circle></g><g class=\"commit-labels\"><g transform=\"translate(-29.425703125000002, 26.217734375) rotate(-45, 0, -2)\"><rect class=\"commit-label-bkg\" x=\"-15.849609375\" y=\"11.5\" width=\"51.69921875\" height=\"15\"></rect><text x=\"-13.849609375\" y=\"23\" class=\"commit-label\">0-b3e8c09</text></g><g transform=\"translate(-28.581464843750002, 25.46236328125) rotate(-45, 50, -2)\"><rect class=\"commit-label-bkg\" x=\"35.26123046875\" y=\"11.5\" width=\"49.4775390625\" height=\"15\"></rect><text x=\"37.26123046875\" y=\"23\" class=\"commit-label\">1-f16a687</text></g><polygon class=\"tag-label-bkg\" points=\"38.330078125,-19.2  \n      38.330078125,-23.2\n      46.330078125,-28.7\n      73.669921875,-28.7\n      73.669921875,-13.7\n      46.330078125,-13.7\"></polygon><circle cy=\"-21.2\" cx=\"42.330078125\" r=\"1.5\" class=\"tag-hole\"></circle><text y=\"-18\" class=\"tag-label\" x=\"50.330078125\">v1.0</text><g transform=\"translate(-28.581464843750002, 25.46236328125) rotate(-45, 100, -2)\"><rect class=\"commit-label-bkg\" x=\"85.26123046875\" y=\"11.5\" width=\"49.4775390625\" height=\"15\"></rect><text x=\"87.26123046875\" y=\"23\" class=\"commit-label\">2-9f3a361</text></g><polygon class=\"tag-label-bkg\" points=\"88.330078125,-19.2  \n      88.330078125,-23.2\n      96.330078125,-28.7\n      123.669921875,-28.7\n      123.669921875,-13.7\n      96.330078125,-13.7\"></polygon><circle cy=\"-21.2\" cx=\"92.330078125\" r=\"1.5\" class=\"tag-hole\"></circle><text y=\"-18\" class=\"tag-label\" x=\"100.330078125\">v1.1</text><g transform=\"translate(-29.143671875, 25.965390624999998) rotate(-45, 150, -2)\"><rect class=\"commit-label-bkg\" x=\"134.521484375\" y=\"11.5\" width=\"50.95703125\" height=\"15\"></rect><text x=\"136.521484375\" y=\"23\" class=\"commit-label\">3-ac74711</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 200, 88)\"><rect class=\"commit-label-bkg\" x=\"183.86962890625\" y=\"101.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"185.86962890625\" y=\"113\" class=\"commit-label\">4-216d723</text></g><g transform=\"translate(-28.581464843750002, 25.46236328125) rotate(-45, 250, 88)\"><rect class=\"commit-label-bkg\" x=\"235.26123046875\" y=\"101.5\" width=\"49.4775390625\" height=\"15\"></rect><text x=\"237.26123046875\" y=\"113\" class=\"commit-label\">5-5218f75</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 300, 88)\"><rect class=\"commit-label-bkg\" x=\"283.86962890625\" y=\"101.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"285.86962890625\" y=\"113\" class=\"commit-label\">6-e67b983</text></g><polygon class=\"tag-label-bkg\" points=\"288.330078125,70.8  \n      288.330078125,66.8\n      296.330078125,61.3\n      323.669921875,61.3\n      323.669921875,76.3\n      296.330078125,76.3\"></polygon><circle cy=\"68.8\" cx=\"292.330078125\" r=\"1.5\" class=\"tag-hole\"></circle><text y=\"72\" class=\"tag-label\" x=\"300.330078125\">v2.0</text><g transform=\"translate(-29.2609375, 26.0703125) rotate(-45, 350, 88)\"><rect class=\"commit-label-bkg\" x=\"334.3671875\" y=\"101.5\" width=\"51.265625\" height=\"15\"></rect><text x=\"336.3671875\" y=\"113\" class=\"commit-label\">7-daa6e1c</text></g><g transform=\"translate(-29.639082031250002, 26.40865234375) rotate(-45, 400, 88)\"><rect class=\"commit-label-bkg\" x=\"383.86962890625\" y=\"101.5\" width=\"52.2607421875\" height=\"15\"></rect><text x=\"385.86962890625\" y=\"113\" class=\"commit-label\">8-a2ea30a</text></g><g transform=\"translate(-29.474687499999998, 26.2615625) rotate(-45, 450, -2)\"><rect class=\"commit-label-bkg\" x=\"434.0859375\" y=\"11.5\" width=\"51.828125\" height=\"15\"></rect><text x=\"436.0859375\" y=\"23\" class=\"commit-label\">9-4179e2d</text></g><g transform=\"translate(-30.694843749999997, 27.35328125) rotate(-45, 500, -2)\"><rect class=\"commit-label-bkg\" x=\"482.48046875\" y=\"11.5\" width=\"55.0390625\" height=\"15\"></rect><text x=\"484.48046875\" y=\"23\" class=\"commit-label\">10-47f41d7</text></g><g transform=\"translate(-29.825, 26.575) rotate(-45, 550, -2)\"><rect class=\"commit-label-bkg\" x=\"533.625\" y=\"11.5\" width=\"52.75\" height=\"15\"></rect><text x=\"535.625\" y=\"23\" class=\"commit-label\">11-855fbcc</text></g><polygon class=\"tag-label-bkg\" points=\"538.330078125,-19.2  \n      538.330078125,-23.2\n      546.330078125,-28.7\n      573.669921875,-28.7\n      573.669921875,-13.7\n      546.330078125,-13.7\"></polygon><circle cy=\"-21.2\" cx=\"542.330078125\" r=\"1.5\" class=\"tag-hole\"></circle><text y=\"-18\" class=\"tag-label\" x=\"550.330078125\">v1.2</text><g transform=\"translate(-29.554843750000003, 26.33328125) rotate(-45, 600, 88)\"><rect class=\"commit-label-bkg\" x=\"583.98046875\" y=\"101.5\" width=\"52.0390625\" height=\"15\"></rect><text x=\"585.98046875\" y=\"113\" class=\"commit-label\">12-24f730f</text></g><g transform=\"translate(-31.539082031249997, 28.10865234375) rotate(-45, 650, 88)\"><rect class=\"commit-label-bkg\" x=\"631.36962890625\" y=\"101.5\" width=\"57.2607421875\" height=\"15\"></rect><text x=\"633.36962890625\" y=\"113\" class=\"commit-label\">13-075c8aa</text></g><g transform=\"translate(-31.539082031249997, 28.10865234375) rotate(-45, 700, 88)\"><rect class=\"commit-label-bkg\" x=\"681.36962890625\" y=\"101.5\" width=\"57.2607421875\" height=\"15\"></rect><text x=\"683.36962890625\" y=\"113\" class=\"commit-label\">14-e20c373</text></g><polygon class=\"tag-label-bkg\" points=\"688.330078125,70.8  \n      688.330078125,66.8\n      696.330078125,61.3\n      723.669921875,61.3\n      723.669921875,76.3\n      696.330078125,76.3\"></polygon><circle cy=\"68.8\" cx=\"692.330078125\" r=\"1.5\" class=\"tag-hole\"></circle><text y=\"72\" class=\"tag-label\" x=\"700.330078125\">v2.1</text><g transform=\"translate(-31.5884375, 28.1528125) rotate(-45, 750, 88)\"><rect class=\"commit-label-bkg\" x=\"731.3046875\" y=\"101.5\" width=\"57.390625\" height=\"15\"></rect><text x=\"733.3046875\" y=\"113\" class=\"commit-label\">15-8eb834d</text></g><g transform=\"translate(-31.752460937499997, 28.2995703125) rotate(-45, 800, 178)\"><rect class=\"commit-label-bkg\" x=\"781.0888671875\" y=\"191.5\" width=\"57.822265625\" height=\"15\"></rect><text x=\"783.0888671875\" y=\"203\" class=\"commit-label\">16-d6482ae</text></g></g></svg>"},"children":[]},{"$$mdtype":"Tag","name":"details","attributes":{},"children":[{"$$mdtype":"Tag","name":"summary","attributes":{},"children":["Diagram source for versioned branches"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Diagram source for the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://mermaid.js.org/syntax/gitgraph.html"},"children":["mermaidjs gitgraph"]}," diagram."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"%%{init: {'gitGraph': {'mainBranchName': 'v1'}} }%%\n    gitGraph\n       commit\n       commit tag: \"v1.0\"\n       commit tag: \"v1.1\"\n       commit\n       branch v2\n       commit\n       commit\n       commit tag: \"v2.0\"\n       commit\n       commit\n       checkout v1\n       commit\n       commit\n       commit tag: \"v1.2\"\n       checkout v2\n       commit\n       commit\n       commit tag: \"v2.1\"\n       commit\n       branch v3\n       commit\n","lang":"text"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This example shows the branching structure for a documentation project that maintains three versions of the documentation: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v1"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v2"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v3"]},"."," ","Changes are made to the branch for each version."," ","When it is released, the version number is indicated with a ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://git-scm.com/book/en/v2/Git-Basics-Tagging"},"children":["git tag"]},"."," ","New major versions are branched from the previous version, but then remain independent and are never integrated."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To apply the same change to multiple versions, make the amendment to the earliest version that needs it, then use ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://git-scm.com/docs/git-cherry-pick"},"children":["git cherrypick"]}," to re-apply it to other branches as needed."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use versioned branching when multiple versions require maintenance and ongoing updates."," ","The main difference between versioned branches and a single main branch is that when you branch, and when you merge, it's very important to make sure that the correct branch is used."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"choose-a-branching-strategy-to-suit","__idx":4},"children":["Choose a branching strategy to suit"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This article covered the three most-used branching strategies that we see, and they should serve as inspiration and good starting points for any project."," ","Once you are up and running with your project, don't be afraid to adapt these workflows and change them to meet the needs of your organization."," ","Branching strategies are a living thing, and they will grow and change as your projects do!"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"more-resources","__idx":5},"children":["More resources"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Here are some more resources that you may find useful in your documentation projects:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If your documentation project includes APIs, learn how to ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/blog/consistent-apis-redocly-github-actions"},"children":["ensure consistent APIs with Redocly and GitHub actions"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Our article ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/blog/get-started-yaml"},"children":["YAML for technical writers"]}," will get you started with another key docs-as-code skill."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The diagrams in this article use ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://mermaid.js.org/syntax/gitgraph.html"},"children":["mermaid.js gitgraph"]},", and you can expand the diagram source for each."]}]}]},"frontmatter":{"template":"../@theme/templates/BlogPost","title":"Git branching strategies for documentation projects","description":"Docs-as-code workflows need solid branching strategies. This article helps you pick the right one.","seo":{"title":"Git branching strategies for documentation projects","description":"Docs-as-code workflows need solid branching strategies. This article helps you pick the right one."},"author":"lorna-mitchell","publishedDate":"2024-07-04","categories":["docs-as-code:git-workflows"],"image":"Redocly_blog_7.jpg"},"tagList":["admonition","html"],"title":"Git branching strategies for documentation projects","lastModified":"2025-11-24T15:40:38.000Z"}