Release 0.3.0 (#105)

diff --git a/.github/workflows/docs-plantuml-check.yaml b/.github/workflows/docs-plantuml-check.yaml
deleted file mode 100644
index b72047c..0000000
--- a/.github/workflows/docs-plantuml-check.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-name: PlantUML SVG Diagrams
-
-on:
-  pull_request:
-    paths:
-      - 'docs/*.plantuml'
-      - 'docs/*.svg'
-  push:
-    branches:
-      - main
-
-jobs:
-  check-plantuml-svg-diagram-consistency:
-    name: Checking consistency of diagram files
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v2
-
-      - uses: actions/setup-java@v2
-        with:
-          distribution: 'adopt'
-          java-version: '11'
-
-      - run: make verify-docs
\ No newline at end of file
diff --git a/CHANGES.md b/CHANGES.md
index 88f3fad..3fe19f2 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,33 @@
+## 0.3.0
+
+- Dependency License
+  - Fix license check in go library testify (#93)
+
+- License Header
+  - `fix` command supports more languages:
+    - Add comment style for cmake language (#86)
+    - Add comment style for hcl (#89)
+    - Add mpl-2.0 header template (#87)
+    - Support fix license header for tcl files (#102)
+    - Add python docstring comment style (#100)
+    - Add comment style for makefile & editorconfig (#90)
+  - Support config license header comment style (#97)
+  - Trim leading and trailing newlines before rewrite license header cotent (#94)
+  - Replace already existing license header based on pattern (#98)
+  - [docs] add the usage for config the license header comment style (#99)
+
+- Project
+  - Obtain default github token in github actions (#82)
+  - Add tests for bare spdx license header content (#92)
+  - Add github action step summary for better experience (#104)
+  - Adds an option to the action to run in `fix` mode (#84)
+  - Provide `--summary` flag to generate the license summary file (#103)
+  - Add .exe suffix to windows binary (#101)
+  - Fix wrong file path and exclude binary files in src release (#81)
+  - Use t.tempdir to create temporary test directory (#95)
+  - Config: fix incorrect log message (#91)
+  - [docs] correct spelling mistakes (#96)
+
 ## 0.2.0
 
 - Dependency License
diff --git a/Makefile b/Makefile
index c809572..a6f34a6 100644
--- a/Makefile
+++ b/Makefile
@@ -85,7 +85,7 @@
 	-rm -rf "$(RELEASE_SRC)"*
 
 .PHONY: verify
-verify: clean license lint test verify-docs
+verify: clean license lint test 
 
 release-src: clean
 	-mkdir $(RELEASE_SRC)
diff --git a/docs/header_fix_logic.svg b/docs/header_fix_logic.svg
index 7a718a7..647d359 100644
--- a/docs/header_fix_logic.svg
+++ b/docs/header_fix_logic.svg
@@ -1,2 +1,2 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1230px" preserveAspectRatio="none" style="width:983px;height:1230px;background:#FFFFFF;" version="1.1" viewBox="0 0 983 1230" width="983px" zoomAndPan="magnify"><defs><filter height="300%" id="f1dp2z8cpqnugx" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacing" textLength="544" x="213.25" y="16.708">Apache/Skywalking-Eyes: Header fix process activity diagram</text><!--MD5=[12f9a589874d42fca04c670f992dfeae]
-cluster singleFileProcess--><polygon fill="#FFFFFF" filter="url(#f1dp2z8cpqnugx)" points="16,163.9531,160,163.9531,167,186.25,952,186.25,952,1094.9531,16,1094.9531,16,163.9531" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="16" x2="167" y1="186.25" y2="186.25"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="138" x="20" y="178.9482">singleFileProcess</text><ellipse cx="847" cy="37.9531" fill="#000000" filter="url(#f1dp2z8cpqnugx)" rx="10" ry="10" style="stroke:none;stroke-width:1.0;"/><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="47.9375" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="245" x="724.5" y="88.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="225" x="734.5" y="110.0918">Start of 'header fix'. Processing files</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="214" x="740" y="124.0605">without proper headers file by file.</text><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="186" x="650" y="1123.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="166" x="660" y="1145.0918">End of 'header fix' process</text><ellipse cx="743" cy="1204.9531" filter="url(#f1dp2z8cpqnugx)" rx="10" ry="10" style="stroke:#000000;stroke-width:1.0;fill:none;"/><ellipse cx="743.5" cy="1205.4531" fill="#000000" rx="6" ry="6" style="stroke:none;stroke-width:1.0;"/><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="184" x="755" y="190.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="164" x="765" y="212.0918">Start of single file process</text><polygon fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" points="847,261.9531,859,273.9531,847,285.9531,835,273.9531,847,261.9531" style="stroke:#A80036;stroke-width:1.5;"/><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="207" x="697.5" y="335.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="187" x="707.5" y="357.0918">Try to fix license header of file</text><polygon fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" points="790,406.9531,802,418.9531,790,430.9531,778,418.9531,790,406.9531" style="stroke:#A80036;stroke-width:1.5;"/><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="245" x="520.5" y="480.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="50" x="530.5" y="502.0918">Look for</text><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="30" x="584.5" y="502.0918">After</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="141" x="614.5" y="502.0918">-pattern in file content</text><polygon fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" points="639,551.9531,651,563.9531,639,575.9531,627,563.9531,639,551.9531" style="stroke:#A80036;stroke-width:1.5;"/><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="402" x="24" y="943.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="382" x="34" y="965.0918">fileContent := contentPart1 + licenseHeader + contentPart2</text><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="263" x="611.5" y="1052.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="243" x="621.5" y="1074.0918">End of fixing license header for this file</text><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="166" x="556" y="676.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="30" x="566" y="698.0918">After</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="116" x="596" y="698.0918">-pattern not found</text><polygon fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" points="639,747.9531,651,759.9531,639,771.9531,627,759.9531,639,747.9531" style="stroke:#A80036;stroke-width:1.5;"/><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="460" x="444" y="943.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="86" x="454" y="965.0918">fileContent :=</text><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="73" x="544" y="965.0918">ensureAfter</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="118" x="621" y="965.0918">+ licenseHeader +</text><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="84" x="743" y="965.0918">ensureBefore</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="63" x="831" y="965.0918">+ content</text><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="267" x="656.5" y="872.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="247" x="666.5" y="894.0918">fileContent := licenseHeader + content</text><path d="M847,52.0469 C847,61.8752 847,76.541 847,88.9015 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="847,88.9015,851,79.9015,847,83.9015,843,79.9015,847,88.9015" style="stroke:#A80036;stroke-width:1.0;"/><path d="M847,137.421 C847,154.1019 847,176.0732 847,190.8135 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="847,190.8135,851,181.8135,847,185.8135,843,181.8135,847,190.8135" style="stroke:#A80036;stroke-width:1.0;"/><path d="M847,225.103 C847,236.5083 847,251.5075 847,261.6493 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="847,261.6493,851,252.6493,847,256.6493,843,252.6493,847,261.6493" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacing" textLength="102" x="558" y="258.8598">comment_style_id</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="182" x="664" y="258.8598">is set for this language/file type</text><path d="M840.4093,285.9853 C832.6087,299.0428 819.5537,320.8959 810.623,335.8451 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="810.623,335.8451,818.6726,330.1703,813.1872,331.5527,811.8048,326.0674,810.623,335.8451" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="20" x="830" y="315.1636">yes</text><path d="M798.2242,370.103 C796.2639,381.5083 793.686,396.5075 791.9428,406.6493 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="791.9428,406.6493,797.4096,398.457,792.7898,401.7216,789.5252,397.1018,791.9428,406.6493" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacing" textLength="28" x="625.9428" y="403.8598">After</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="133" x="657.9428" y="403.8598">is set in CommentStyle</text><path d="M777.9704,426.2544 C755.4108,438.0713 706.1136,463.8936 673.7559,480.8429 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="673.7559,480.8429,683.5844,480.2102,678.185,478.5229,679.8723,473.1235,673.7559,480.8429" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="20" x="734" y="460.1636">yes</text><path d="M641.9906,515.103 C641.2778,526.5083 640.3404,541.5075 639.7065,551.6493 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="639.7065,551.6493,644.2601,542.9164,640.0184,546.6591,636.2757,542.4174,639.7065,551.6493" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="91" x="547.7065" y="548.8598">pattern is found</text><path d="M626.9022,564.8698 C575.8946,564.837 381,568.0426 381,618.9531 C381,618.9531 381,618.9531 381,890.9531 C381,917.3099 362.1451,933.6801 337.5453,943.822 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="337.5453,943.822,347.3905,944.0897,342.1679,941.9162,344.3413,936.6936,337.5453,943.822" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="20" x="382" y="764.1636">yes</text><path d="M302.5498,977.9721 C400.3445,998.1729 567.4992,1032.701 665.344,1052.9122 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="665.344,1052.9122,657.3393,1047.1743,660.4474,1051.9008,655.7209,1055.0089,665.344,1052.9122" style="stroke:#A80036;stroke-width:1.0;"/><path d="M639,576.3123 C639,599.0729 639,650.3334 639,676.6647 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="639,676.6647,643,667.6647,639,671.6647,635,667.6647,639,676.6647" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="14" x="640" y="624.1636">no</text><path d="M639,711.103 C639,722.5083 639,737.5075 639,747.6493 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="639,747.6493,643,738.6493,639,742.6493,635,738.6493,639,747.6493" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacing" textLength="72" x="530" y="744.8598">ensure_after</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="32" x="606" y="744.8598">is set</text><path d="M638.2162,772.1783 C636.8018,796.9756 635.0657,858.0996 648,906.9531 C651.4625,920.0311 658.2669,933.7135 664.0463,943.9 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="664.0463,943.9,663.0841,934.0982,661.5789,939.5511,656.126,938.046,664.0463,943.9" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="20" x="640" y="852.1636">yes</text><path d="M684.4796,978.2041 C697.5239,998.4322 719.6631,1032.7641 732.6478,1052.8998 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="732.6478,1052.8998,731.132,1043.1683,729.9381,1048.6977,724.4087,1047.5039,732.6478,1052.8998" style="stroke:#A80036;stroke-width:1.0;"/><path d="M651.1017,771.2115 C677.3457,793.4581 739.6572,846.2784 771.1246,872.9527 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="771.1246,872.9527,766.8457,864.0819,767.3105,869.7196,761.6728,870.1844,771.1246,872.9527" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="14" x="712" y="820.1636">no</text><path d="M790,431.1749 C790,446.1669 790,473.559 790,496.9531 C790,496.9531 790,496.9531 790,816.9531 C790,836.2031 790,858.3481 790,872.939 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="790,872.939,794,863.939,790,867.939,786,863.939,790,872.939" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="14" x="791" y="656.1636">no</text><path d="M863.8938,906.9868 C883.0864,914.8612 901.5609,926.5682 913,943.9531 C921.3062,956.5767 920.7647,964.9895 913,977.9531 C889.9499,1016.4364 844.4526,1039.5653 806.323,1052.87 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="806.323,1052.87,816.1383,1053.6816,811.0438,1051.2227,813.5027,1046.1282,806.323,1052.87" style="stroke:#A80036;stroke-width:1.0;"/><path d="M859.3022,279.8442 C881.9617,289.7574 928,314.5062 928,351.9531 C928,351.9531 928,351.9531 928,652.9531 C928,774.0257 943,803.8806 943,924.9531 C943,924.9531 943,924.9531 943,1015.9531 C943,1034.0033 912.1765,1046.0495 874.7307,1054.0239 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="874.7307,1054.0239,884.3665,1056.0616,879.6211,1052.9825,882.7002,1048.237,874.7307,1054.0239" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="14" x="930" y="698.1636">no</text><path d="M743,1086.9565 C743,1097.9444 743,1112.4862 743,1123.5573 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="743,1123.5573,747,1114.5573,743,1118.5573,739,1114.5573,743,1123.5573" style="stroke:#A80036;stroke-width:1.0;"/><path d="M743,1158.103 C743,1169.5083 743,1184.5075 743,1194.6493 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="743,1194.6493,747,1185.6493,743,1189.6493,739,1185.6493,743,1194.6493" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="116" x="427.25" y="1222.2354">apache/skywalking-eyes</text></g></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1231px" preserveAspectRatio="none" style="width:909px;height:1231px;background:#FFFFFF;" version="1.1" viewBox="0 0 909 1231" width="909px" zoomAndPan="magnify"><defs><filter height="300%" id="f1dp2z8cpqnugx" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacing" textLength="535" x="180.5" y="17.4023">Apache/Skywalking-Eyes: Header fix process activity diagram</text><!--MD5=[12f9a589874d42fca04c670f992dfeae]
+cluster singleFileProcess--><polygon fill="#FFFFFF" filter="url(#f1dp2z8cpqnugx)" points="16,164.1992,147,164.1992,154,186.6875,882,186.6875,882,1095.1992,16,1095.1992,16,164.1992" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="16" x2="154" y1="186.6875" y2="186.6875"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="125" x="20" y="179.7344">singleFileProcess</text><ellipse cx="782" cy="38.1992" fill="#000000" filter="url(#f1dp2z8cpqnugx)" rx="10" ry="10" style="stroke:none;stroke-width:1.0;"/><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="48.2656" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="226" x="669" y="89.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="206" x="679" y="110.8008">Start of 'header fix'. Processing files</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="200" x="682" y="124.9336">without proper headers file by file.</text><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="34.1328" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="175" x="599.5" y="1124.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="155" x="609.5" y="1145.8008">End of 'header fix' process</text><ellipse cx="687" cy="1205.1992" filter="url(#f1dp2z8cpqnugx)" rx="10" ry="10" style="stroke:#000000;stroke-width:1.0;fill:none;"/><ellipse cx="687.5" cy="1205.6992" fill="#000000" rx="6" ry="6" style="stroke:none;stroke-width:1.0;"/><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="34.1328" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="168" x="698" y="191.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="148" x="708" y="212.8008">Start of single file process</text><polygon fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" points="782,262.1992,794,274.1992,782,286.1992,770,274.1992,782,262.1992" style="stroke:#A80036;stroke-width:1.5;"/><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="34.1328" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="196" x="640" y="336.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="176" x="650" y="357.8008">Try to fix license header of file</text><polygon fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" points="731,407.1992,743,419.1992,731,431.1992,719,419.1992,731,407.1992" style="stroke:#A80036;stroke-width:1.5;"/><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="34.1328" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="229" x="478.5" y="481.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="47" x="488.5" y="502.8008">Look for</text><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="28" x="539.5" y="502.8008">After</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="130" x="567.5" y="502.8008">-pattern in file content</text><polygon fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" points="590,552.1992,602,564.1992,590,576.1992,578,564.1992,590,552.1992" style="stroke:#A80036;stroke-width:1.5;"/><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="34.1328" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="367" x="24.5" y="944.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="347" x="34.5" y="965.8008">fileContent := contentPart1 + licenseHeader + contentPart2</text><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="34.1328" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="245" x="564.5" y="1053.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="225" x="574.5" y="1074.8008">End of fixing license header for this file</text><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="34.1328" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="156" x="512" y="677.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="28" x="522" y="698.8008">After</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="108" x="550" y="698.8008">-pattern not found</text><polygon fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" points="590,748.1992,602,760.1992,590,772.1992,578,760.1992,590,748.1992" style="stroke:#A80036;stroke-width:1.5;"/><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="34.1328" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="424" x="410" y="944.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="79" x="420" y="965.8008">fileContent :=</text><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="67" x="503" y="965.8008">ensureAfter</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="110" x="574" y="965.8008">+ licenseHeader +</text><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="76" x="688" y="965.8008">ensureBefore</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="56" x="768" y="965.8008">+ content</text><rect fill="#FEFECE" filter="url(#f1dp2z8cpqnugx)" height="34.1328" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="245" x="608.5" y="873.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="225" x="618.5" y="894.8008">fileContent := licenseHeader + content</text><path d="M782,52.293 C782,62.1213 782,76.7871 782,89.1476 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="782,89.1476,786,80.1476,782,84.1476,778,80.1476,782,89.1476" style="stroke:#A80036;stroke-width:1.0;"/><path d="M782,137.667 C782,154.348 782,176.3193 782,191.0596 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="782,191.0596,786,182.0596,782,186.0596,778,182.0596,782,191.0596" style="stroke:#A80036;stroke-width:1.0;"/><path d="M782,225.3491 C782,236.7544 782,251.7536 782,261.8954 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="782,261.8954,786,252.8954,782,256.8954,778,252.8954,782,261.8954" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacing" textLength="97" x="511" y="259.5302">comment_style_id</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="170" x="611" y="259.5302">is set for this language/file type</text><path d="M775.6959,286.2314 C768.2345,299.2889 755.747,321.142 747.2046,336.0912 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="747.2046,336.0912,755.1428,330.2616,749.6853,331.75,748.1969,326.2925,747.2046,336.0912" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="18" x="766" y="315.834">yes</text><path d="M736.2336,370.3491 C734.9861,381.7544 733.3456,396.7536 732.2364,406.8954 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="732.2364,406.8954,737.1912,398.3837,732.78,401.9251,729.2386,397.5139,732.2364,406.8954" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacing" textLength="27" x="580.2364" y="404.5302">After</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="121" x="610.2364" y="404.5302">is set in CommentStyle</text><path d="M718.7534,427.0325 C697.1831,439.0681 651.8704,464.3512 621.9411,481.0509 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="621.9411,481.0509,631.7495,480.1587,626.3074,478.6146,627.8515,473.1726,621.9411,481.0509" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="18" x="679" y="460.834">yes</text><path d="M592.243,515.3491 C591.7083,526.7544 591.0053,541.7536 590.5299,551.8954 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="590.5299,551.8954,594.9469,543.0926,590.764,546.9009,586.9557,542.718,590.5299,551.8954" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="86" x="503.5299" y="549.5302">pattern is found</text><path d="M577.7684,565.3049 C528.8611,566.0512 350,572.0065 350,619.1992 C350,619.1992 350,619.1992 350,891.1992 C350,917.7861 329.6131,934.1314 304.2887,944.1793 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="304.2887,944.1793,314.1295,944.5781,308.9362,942.3353,311.1791,937.1421,304.2887,944.1793" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="18" x="351" y="764.834">yes</text><path d="M279.7111,978.2182 C370.1429,998.419 524.7126,1032.9471 615.1907,1053.1583 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="615.1907,1053.1583,607.2792,1047.2924,610.311,1052.0683,605.5352,1055.1,615.1907,1053.1583" style="stroke:#A80036;stroke-width:1.0;"/><path d="M590,576.5584 C590,599.319 590,650.5795 590,676.9108 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="590,676.9108,594,667.9108,590,671.9108,586,667.9108,590,676.9108" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="14" x="591" y="624.834">no</text><path d="M590,711.3491 C590,722.7544 590,737.7536 590,747.8954 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="590,747.8954,594,738.8954,590,742.8954,586,738.8954,590,747.8954" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacing" textLength="68" x="490" y="745.5302">ensure_after</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="28" x="561" y="745.5302">is set</text><path d="M589.5455,772.3703 C588.8044,797.0598 588.4284,857.9821 600,907.1992 C603.0098,920.0008 608.7649,933.6918 613.6339,943.9515 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="613.6339,943.9515,613.3889,934.1057,611.4902,939.4344,606.1615,937.5357,613.6339,943.9515" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="18" x="592" y="852.834">yes</text><path d="M631.8721,978.4502 C644.1602,998.6783 665.016,1033.0102 677.248,1053.1459 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="677.248,1053.1459,675.9939,1043.3772,674.652,1048.8726,669.1566,1047.5307,677.248,1053.1459" style="stroke:#A80036;stroke-width:1.0;"/><path d="M602.0216,772.1124 C626.9289,794.7233 684.2691,846.7768 713.3696,873.1943 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="713.3696,873.1943,709.3944,864.1833,709.6675,869.8335,704.0172,870.1066,713.3696,873.1943" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="14" x="659" y="820.834">no</text><path d="M731,431.421 C731,446.413 731,473.8051 731,497.1992 C731,497.1992 731,497.1992 731,817.1992 C731,836.4492 731,858.5942 731,873.1851 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="731,873.1851,735,864.1851,731,868.1851,727,864.1851,731,873.1851" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="14" x="732" y="656.834">no</text><path d="M795.2055,907.2322 C813.8266,915.1824 832.0685,926.9326 843,944.1992 C851.0831,956.9667 850.5263,965.0957 843,978.1992 C821.3712,1015.8557 777.4846,1039.4022 741.7545,1053.0842 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="741.7545,1053.0842,751.5898,1053.6012,746.4239,1051.2962,748.7289,1046.1302,741.7545,1053.0842" style="stroke:#A80036;stroke-width:1.0;"/><path d="M794.2107,280.6321 C815.6942,291.1187 858,316.3238 858,352.1992 C858,352.1992 858,352.1992 858,653.1992 C858,774.2718 873,804.1266 873,925.1992 C873,925.1992 873,925.1992 873,1016.1992 C873,1033.1976 843.9047,1045.0406 808.7289,1053.1472 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="808.7289,1053.1472,818.3973,1055.0239,813.6012,1052.0243,816.6007,1047.2282,808.7289,1053.1472" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="14" x="860" y="698.834">no</text><path d="M687,1087.2026 C687,1098.1905 687,1112.7323 687,1123.8034 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="687,1123.8034,691,1114.8034,687,1118.8034,683,1114.8034,687,1123.8034" style="stroke:#A80036;stroke-width:1.0;"/><path d="M687,1158.3491 C687,1169.7544 687,1184.7536 687,1194.8954 " fill="none" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="687,1194.8954,691,1185.8954,687,1189.8954,683,1185.8954,687,1194.8954" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="122" x="387" y="1222.8672">apache/skywalking-eyes</text></g></svg>
\ No newline at end of file