libv8 6.3.292.48.1 → 6.7.288.46.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (195) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +10 -34
  3. data/CHANGELOG.md +16 -0
  4. data/README.md +9 -63
  5. data/Rakefile +2 -2
  6. data/ext/libv8/builder.rb +22 -87
  7. data/ext/libv8/extconf.rb +1 -1
  8. data/ext/libv8/paths.rb +5 -18
  9. data/lib/libv8/version.rb +1 -1
  10. data/spec/location_spec.rb +1 -2
  11. data/spec/spec_helper.rb +0 -1
  12. data/vendor/depot_tools/.gitattributes +1 -2
  13. data/vendor/depot_tools/OWNERS +0 -1
  14. data/vendor/depot_tools/PRESUBMIT.py +11 -6
  15. data/vendor/depot_tools/README.md +0 -1
  16. data/vendor/depot_tools/WATCHLISTS +0 -6
  17. data/vendor/depot_tools/auth.py +129 -87
  18. data/vendor/depot_tools/autoninja +11 -1
  19. data/vendor/depot_tools/autoninja.bat +7 -1
  20. data/vendor/depot_tools/autoninja.py +14 -6
  21. data/vendor/depot_tools/bootstrap/win/manifest.txt +1 -1
  22. data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +1 -1
  23. data/vendor/depot_tools/cipd +23 -2
  24. data/vendor/depot_tools/cipd.bat +2 -2
  25. data/vendor/depot_tools/cipd_client_version +1 -1
  26. data/vendor/depot_tools/cipd_manifest.txt +17 -7
  27. data/vendor/depot_tools/cit.py +7 -6
  28. data/vendor/depot_tools/cpplint.py +195 -35
  29. data/vendor/depot_tools/detect_host_arch.py +51 -0
  30. data/vendor/depot_tools/download_from_google_storage.py +85 -26
  31. data/vendor/depot_tools/fetch.py +11 -6
  32. data/vendor/depot_tools/fetch_configs/chromium.py +0 -1
  33. data/vendor/depot_tools/fetch_configs/goma_client.py +41 -0
  34. data/vendor/depot_tools/fetch_configs/infra.py +0 -1
  35. data/vendor/depot_tools/fetch_configs/infra_internal.py +0 -1
  36. data/vendor/depot_tools/gclient-new-workdir.py +4 -0
  37. data/vendor/depot_tools/gclient.py +732 -476
  38. data/vendor/depot_tools/gclient_eval.py +569 -58
  39. data/vendor/depot_tools/gclient_scm.py +258 -46
  40. data/vendor/depot_tools/gclient_utils.py +17 -1
  41. data/vendor/depot_tools/gerrit_util.py +46 -13
  42. data/vendor/depot_tools/git_cache.py +0 -2
  43. data/vendor/depot_tools/git_cl.py +176 -335
  44. data/vendor/depot_tools/git_common.py +19 -16
  45. data/vendor/depot_tools/git_footers.py +19 -5
  46. data/vendor/depot_tools/git_hyper_blame.py +9 -3
  47. data/vendor/depot_tools/git_new_branch.py +15 -3
  48. data/vendor/depot_tools/git_upstream_diff.py +7 -2
  49. data/vendor/depot_tools/gsutil.py +1 -1
  50. data/vendor/depot_tools/infra/config/cq.cfg +1 -2
  51. data/vendor/depot_tools/infra/config/recipes.cfg +1 -1
  52. data/vendor/depot_tools/luci-auth +13 -0
  53. data/vendor/depot_tools/luci-auth.bat +8 -0
  54. data/vendor/depot_tools/man/html/depot_tools.html +0 -8
  55. data/vendor/depot_tools/man/html/git-upstream-diff.html +20 -3
  56. data/vendor/depot_tools/man/man1/git-upstream-diff.1 +27 -6
  57. data/vendor/depot_tools/man/man7/depot_tools.7 +0 -5
  58. data/vendor/depot_tools/man/man7/depot_tools_tutorial.7 +2 -2
  59. data/vendor/depot_tools/man/src/git-upstream-diff.txt +21 -3
  60. data/vendor/depot_tools/man/src/make_docs.sh +6 -0
  61. data/vendor/depot_tools/my_activity.py +283 -93
  62. data/vendor/depot_tools/owners.py +9 -4
  63. data/vendor/depot_tools/owners_finder.py +7 -3
  64. data/vendor/depot_tools/post_build_ninja_summary.py +322 -0
  65. data/vendor/depot_tools/presubmit_canned_checks.py +91 -106
  66. data/vendor/depot_tools/presubmit_support.py +219 -157
  67. data/vendor/depot_tools/prpc +13 -0
  68. data/vendor/depot_tools/prpc.bat +8 -0
  69. data/vendor/depot_tools/recipes/OWNERS +3 -1
  70. data/vendor/depot_tools/recipes/README.recipes.md +70 -111
  71. data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +12 -5
  72. data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +36 -68
  73. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +0 -8
  74. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{trychange_oauth2_json.json → no_apply_patch_on_gclient.json} +64 -10
  75. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{no_shallow.json → shallow.json} +1 -1
  76. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob.json +0 -8
  77. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_empty_revision.json +0 -8
  78. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +0 -6
  79. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +0 -7
  80. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +0 -6
  81. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle_deprecated.json +44 -0
  82. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{trychange_oauth2_buildbot.json → tryjob_gerrit_branch_heads.json} +51 -5
  83. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +0 -8
  84. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +48 -8
  85. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +19 -26
  86. data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +193 -155
  87. data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +9 -0
  88. data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +2 -7
  89. data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +31 -5
  90. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/basic.json +37 -19
  91. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/buildbot.json +37 -19
  92. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/revision.json +37 -19
  93. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/tryserver.json +37 -23
  94. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.py +4 -0
  95. data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +40 -8
  96. data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +3 -3
  97. data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.py +6 -3
  98. data/vendor/depot_tools/recipes/recipe_modules/gitiles/OWNERS +0 -1
  99. data/vendor/depot_tools/recipes/recipe_modules/tryserver/__init__.py +0 -1
  100. data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +7 -56
  101. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch.json +0 -1
  102. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.py +15 -16
  103. data/vendor/depot_tools/recipes/recipes.py +4 -2
  104. data/vendor/depot_tools/recipes/trigger_recipe_roller.txt +12 -0
  105. data/vendor/depot_tools/roll_dep.py +35 -37
  106. data/vendor/depot_tools/support/chromite_wrapper +1 -1
  107. data/vendor/depot_tools/third_party/logilab/astroid/README.chromium +3 -3
  108. data/vendor/depot_tools/third_party/logilab/astroid/__pkginfo__.py +2 -2
  109. data/vendor/depot_tools/third_party/logilab/astroid/astpeephole.py +86 -0
  110. data/vendor/depot_tools/third_party/logilab/astroid/bases.py +53 -66
  111. data/vendor/depot_tools/third_party/logilab/astroid/brain/py2pytest.py +31 -31
  112. data/vendor/depot_tools/third_party/logilab/astroid/brain/pynose.py +39 -16
  113. data/vendor/depot_tools/third_party/logilab/astroid/brain/pysix_moves.py +225 -189
  114. data/vendor/depot_tools/third_party/logilab/astroid/inference.py +45 -41
  115. data/vendor/depot_tools/third_party/logilab/astroid/manager.py +1 -0
  116. data/vendor/depot_tools/third_party/logilab/astroid/modutils.py +2 -2
  117. data/vendor/depot_tools/third_party/logilab/astroid/node_classes.py +3 -2
  118. data/vendor/depot_tools/third_party/logilab/astroid/nodes.py +1 -0
  119. data/vendor/depot_tools/third_party/logilab/astroid/protocols.py +57 -3
  120. data/vendor/depot_tools/third_party/logilab/astroid/raw_building.py +1 -1
  121. data/vendor/depot_tools/third_party/logilab/astroid/rebuilder.py +21 -1
  122. data/vendor/depot_tools/third_party/logilab/astroid/scoped_nodes.py +58 -33
  123. data/vendor/depot_tools/third_party/pylint/README.chromium +2 -2
  124. data/vendor/depot_tools/third_party/pylint/__pkginfo__.py +3 -3
  125. data/vendor/depot_tools/third_party/pylint/checkers/base.py +6 -18
  126. data/vendor/depot_tools/third_party/pylint/checkers/classes.py +64 -63
  127. data/vendor/depot_tools/third_party/pylint/checkers/design_analysis.py +25 -57
  128. data/vendor/depot_tools/third_party/pylint/checkers/format.py +14 -10
  129. data/vendor/depot_tools/third_party/pylint/checkers/python3.py +142 -37
  130. data/vendor/depot_tools/third_party/pylint/checkers/spelling.py +10 -1
  131. data/vendor/depot_tools/third_party/pylint/checkers/stdlib.py +50 -7
  132. data/vendor/depot_tools/third_party/pylint/checkers/strings.py +1 -1
  133. data/vendor/depot_tools/third_party/pylint/epylint.py +2 -1
  134. data/vendor/depot_tools/third_party/pylint/gui.py +1 -1
  135. data/vendor/depot_tools/third_party/pylint/lint.py +88 -23
  136. data/vendor/depot_tools/third_party/pylint/reporters/html.py +37 -5
  137. data/vendor/depot_tools/third_party/pylint/testutils.py +1 -1
  138. data/vendor/depot_tools/third_party/pylint/utils.py +5 -0
  139. data/vendor/depot_tools/vpython +31 -1
  140. data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +35 -2
  141. data/vendor/depot_tools/win_toolchain/package_from_installed.py +0 -15
  142. data/vendor/depot_tools/yapf +17 -0
  143. data/vendor/depot_tools/{apply_issue.bat → yapf.bat} +2 -2
  144. metadata +16 -58
  145. data/ext/libv8/compiler.rb +0 -39
  146. data/ext/libv8/compiler/apple_llvm.rb +0 -22
  147. data/ext/libv8/compiler/clang.rb +0 -22
  148. data/ext/libv8/compiler/gcc.rb +0 -22
  149. data/ext/libv8/compiler/generic_compiler.rb +0 -66
  150. data/ext/libv8/make.rb +0 -13
  151. data/ext/libv8/patcher.rb +0 -21
  152. data/patches/0001-Build-a-standalone-static-library.patch +0 -26
  153. data/patches/0002-Don-t-compile-unnecessary-stuff.patch +0 -85
  154. data/patches/0003-Use-the-fPIC-flag-for-the-static-library.patch +0 -25
  155. data/patches/0004-Do-not-embed-debug-symbols-in-macOS-libraries.patch +0 -25
  156. data/patches/0005-Remove-TryInstallOptimizedCode.patch +0 -321
  157. data/patches/mingw-generate-makefiles.sh +0 -97
  158. data/spec/compiler/apple_llvm_spec.rb +0 -37
  159. data/spec/compiler/clang_spec.rb +0 -37
  160. data/spec/compiler/gcc_spec.rb +0 -37
  161. data/spec/compiler/generic_compiler_spec.rb +0 -50
  162. data/spec/compiler_spec.rb +0 -45
  163. data/spec/support/compiler_helpers.rb +0 -47
  164. data/vendor/depot_tools/apply_issue +0 -8
  165. data/vendor/depot_tools/apply_issue.py +0 -315
  166. data/vendor/depot_tools/man/html/git-cherry-pick-upload.html +0 -815
  167. data/vendor/depot_tools/man/man1/git-cherry-pick-upload.1 +0 -80
  168. data/vendor/depot_tools/man/src/_git-cherry-pick-upload_desc.helper.txt +0 -1
  169. data/vendor/depot_tools/man/src/git-cherry-pick-upload.demo.1.sh +0 -17
  170. data/vendor/depot_tools/man/src/git-cherry-pick-upload.txt +0 -35
  171. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange_oauth2.json +0 -8
  172. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange_oauth2_json_win.json +0 -196
  173. data/vendor/depot_tools/recipes/recipe_modules/rietveld/__init__.py +0 -6
  174. data/vendor/depot_tools/recipes/recipe_modules/rietveld/api.py +0 -97
  175. data/vendor/depot_tools/recipes/recipe_modules/rietveld/examples/full.expected/basic.json +0 -8
  176. data/vendor/depot_tools/recipes/recipe_modules/rietveld/examples/full.expected/buildbot.json +0 -30
  177. data/vendor/depot_tools/recipes/recipe_modules/rietveld/examples/full.expected/no_auth.json +0 -27
  178. data/vendor/depot_tools/recipes/recipe_modules/rietveld/examples/full.py +0 -38
  179. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_rietveld_patch.json +0 -69
  180. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_rietveld_patch_new.json +0 -69
  181. data/vendor/depot_tools/third_party/cq_client/OWNERS +0 -2
  182. data/vendor/depot_tools/third_party/cq_client/README.depot_tools.md +0 -2
  183. data/vendor/depot_tools/third_party/cq_client/README.md +0 -59
  184. data/vendor/depot_tools/third_party/cq_client/__init__.py +0 -3
  185. data/vendor/depot_tools/third_party/cq_client/v1/__init__.py +0 -3
  186. data/vendor/depot_tools/third_party/cq_client/v1/cq.pb.go +0 -810
  187. data/vendor/depot_tools/third_party/cq_client/v1/cq.proto +0 -281
  188. data/vendor/depot_tools/third_party/cq_client/v1/cq_pb2.py +0 -794
  189. data/vendor/depot_tools/third_party/cq_client/v1/testdata/cq_both.cfg +0 -71
  190. data/vendor/depot_tools/third_party/cq_client/v1/testdata/cq_gerrit.cfg +0 -58
  191. data/vendor/depot_tools/third_party/cq_client/v1/testdata/cq_rietveld.cfg +0 -60
  192. data/vendor/depot_tools/third_party/cq_client/v2/__init__.py +0 -3
  193. data/vendor/depot_tools/third_party/cq_client/v2/cq.pb.go +0 -792
  194. data/vendor/depot_tools/third_party/cq_client/v2/cq.proto +0 -270
  195. data/vendor/depot_tools/third_party/cq_client/v2/cq_pb2.py +0 -841
@@ -1,8 +0,0 @@
1
- [
2
- {
3
- "name": "$result",
4
- "reason": "build path is not defined. This is typical for LUCI builds. LUCI does not support rietveld.apply_issue; use bot_update instead",
5
- "recipe_result": null,
6
- "status_code": 1
7
- }
8
- ]
@@ -1,30 +0,0 @@
1
- [
2
- {
3
- "cmd": [
4
- "python",
5
- "-u",
6
- "RECIPE_PACKAGE_REPO[depot_tools]/apply_issue.py",
7
- "-r",
8
- "[START_DIR]/foo/bar",
9
- "-i",
10
- "1",
11
- "-p",
12
- "1",
13
- "-s",
14
- "http://review_tool.url",
15
- "-E",
16
- "[BUILD]/site_config/.rietveld_client_email",
17
- "-k",
18
- "[BUILD]/site_config/.rietveld_secret_key"
19
- ],
20
- "name": "apply_issue",
21
- "~followup_annotations": [
22
- "@@@STEP_LINK@Applied issue 1@http://review_tool.url/1@@@"
23
- ]
24
- },
25
- {
26
- "name": "$result",
27
- "recipe_result": null,
28
- "status_code": 0
29
- }
30
- ]
@@ -1,27 +0,0 @@
1
- [
2
- {
3
- "cmd": [
4
- "python",
5
- "-u",
6
- "RECIPE_PACKAGE_REPO[depot_tools]/apply_issue.py",
7
- "-r",
8
- "[START_DIR]/foo/bar",
9
- "-i",
10
- "1",
11
- "-p",
12
- "1",
13
- "-s",
14
- "http://review_tool.url",
15
- "--no-auth"
16
- ],
17
- "name": "apply_issue",
18
- "~followup_annotations": [
19
- "@@@STEP_LINK@Applied issue 1@http://review_tool.url/1@@@"
20
- ]
21
- },
22
- {
23
- "name": "$result",
24
- "recipe_result": null,
25
- "status_code": 0
26
- }
27
- ]
@@ -1,38 +0,0 @@
1
- # Copyright 2014 The Chromium Authors. All rights reserved.
2
- # Use of this source code is governed by a BSD-style license that can be
3
- # found in the LICENSE file.
4
-
5
- DEPS = [
6
- 'infra_paths',
7
- 'recipe_engine/path',
8
- 'recipe_engine/properties',
9
- 'recipe_engine/step',
10
- 'rietveld',
11
- ]
12
-
13
- def RunSteps(api):
14
- api.path['checkout'] = api.path['start_dir']
15
- api.rietveld.apply_issue(
16
- 'foo', 'bar', authentication=api.properties.get('authentication'))
17
- api.rietveld.calculate_issue_root({'project': ['']})
18
-
19
-
20
- def GenTests(api):
21
- yield api.test('basic') + api.properties(
22
- issue=1,
23
- patchset=1,
24
- rietveld='http://review_tool.url',
25
- authentication='oauth2',
26
- )
27
- yield api.test('no_auth') + api.properties(
28
- issue=1,
29
- patchset=1,
30
- rietveld='http://review_tool.url',
31
- )
32
- yield api.test('buildbot') + api.properties(
33
- path_config='buildbot',
34
- issue=1,
35
- patchset=1,
36
- rietveld='http://review_tool.url',
37
- authentication='oauth2',
38
- )
@@ -1,69 +0,0 @@
1
- [
2
- {
3
- "cmd": [
4
- "RECIPE_PACKAGE_REPO[depot_tools]/git_cl.py",
5
- "description",
6
- "-d",
7
- "--rietveld",
8
- "https://codereview.chromium.org/12853011"
9
- ],
10
- "name": "git_cl description",
11
- "stdout": "/path/to/tmp/"
12
- },
13
- {
14
- "cmd": [
15
- "python",
16
- "-u",
17
- "RECIPE_PACKAGE_REPO[depot_tools]/git_footers.py",
18
- "--json",
19
- "/path/to/tmp/json"
20
- ],
21
- "name": "parse description",
22
- "stdin": "foobar",
23
- "~followup_annotations": [
24
- "@@@STEP_LOG_END@json.output (invalid)@@@",
25
- "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
26
- "@@@STEP_LOG_END@json.output (exception)@@@"
27
- ]
28
- },
29
- {
30
- "cmd": [
31
- "git",
32
- "-c",
33
- "core.quotePath=false",
34
- "diff",
35
- "--cached",
36
- "--name-only"
37
- ],
38
- "cwd": "[START_DIR]",
39
- "infra_step": true,
40
- "name": "git diff to analyze patch",
41
- "stdout": "/path/to/tmp/",
42
- "~followup_annotations": [
43
- "@@@STEP_LOG_LINE@files@foo.cc@@@",
44
- "@@@STEP_LOG_END@files@@@",
45
- "@@@SET_BUILD_PROPERTY@failure_type@\"INVALID_TEST_RESULTS\"@@@",
46
- "@@@SET_BUILD_PROPERTY@subproject_tag@\"v8\"@@@"
47
- ]
48
- },
49
- {
50
- "cmd": [
51
- "python",
52
- "-u",
53
- "import sys; sys.exit(1)"
54
- ],
55
- "name": "fail",
56
- "~followup_annotations": [
57
- "step returned non-zero exit code: 1",
58
- "@@@STEP_TEXT@foo@@@",
59
- "@@@STEP_FAILURE@@@",
60
- "@@@SET_BUILD_PROPERTY@failure_hash@\"c2311ad770732eade3d2f48247abd147e40a70e7\"@@@"
61
- ]
62
- },
63
- {
64
- "name": "$result",
65
- "reason": "Step('fail') failed with return_code 1",
66
- "recipe_result": null,
67
- "status_code": 1
68
- }
69
- ]
@@ -1,69 +0,0 @@
1
- [
2
- {
3
- "cmd": [
4
- "RECIPE_PACKAGE_REPO[depot_tools]/git_cl.py",
5
- "description",
6
- "-d",
7
- "--rietveld",
8
- "https://codereview.chromium.org/12853011"
9
- ],
10
- "name": "git_cl description",
11
- "stdout": "/path/to/tmp/"
12
- },
13
- {
14
- "cmd": [
15
- "python",
16
- "-u",
17
- "RECIPE_PACKAGE_REPO[depot_tools]/git_footers.py",
18
- "--json",
19
- "/path/to/tmp/json"
20
- ],
21
- "name": "parse description",
22
- "stdin": "foobar",
23
- "~followup_annotations": [
24
- "@@@STEP_LOG_END@json.output (invalid)@@@",
25
- "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@",
26
- "@@@STEP_LOG_END@json.output (exception)@@@"
27
- ]
28
- },
29
- {
30
- "cmd": [
31
- "git",
32
- "-c",
33
- "core.quotePath=false",
34
- "diff",
35
- "--cached",
36
- "--name-only"
37
- ],
38
- "cwd": "[START_DIR]/sub/project",
39
- "infra_step": true,
40
- "name": "git diff to analyze patch",
41
- "stdout": "/path/to/tmp/",
42
- "~followup_annotations": [
43
- "@@@STEP_LOG_LINE@files@sub/project/foo.cc@@@",
44
- "@@@STEP_LOG_END@files@@@",
45
- "@@@SET_BUILD_PROPERTY@failure_type@\"INVALID_TEST_RESULTS\"@@@",
46
- "@@@SET_BUILD_PROPERTY@subproject_tag@\"v8\"@@@"
47
- ]
48
- },
49
- {
50
- "cmd": [
51
- "python",
52
- "-u",
53
- "import sys; sys.exit(1)"
54
- ],
55
- "name": "fail",
56
- "~followup_annotations": [
57
- "step returned non-zero exit code: 1",
58
- "@@@STEP_TEXT@foo@@@",
59
- "@@@STEP_FAILURE@@@",
60
- "@@@SET_BUILD_PROPERTY@failure_hash@\"c2311ad770732eade3d2f48247abd147e40a70e7\"@@@"
61
- ]
62
- },
63
- {
64
- "name": "$result",
65
- "reason": "Step('fail') failed with return_code 1",
66
- "recipe_result": null,
67
- "status_code": 1
68
- }
69
- ]
@@ -1,2 +0,0 @@
1
- sergiyb@chromium.org
2
- tandrii@chromium.org
@@ -1,2 +0,0 @@
1
- Import of CQ protobuf config from infra_internal repo.
2
- Version: 614723941add42edbe1c8d5a04658967f15d2645 from Aug 18, 2017.
@@ -1,59 +0,0 @@
1
- # CQ Client Library.
2
-
3
- This directory contains CQ client library to be distributed to other repos. If
4
- you need to modify some files in this directory, please make sure that you are
5
- changing the canonical version of the source code and not one of the copies,
6
- which should only be updated as a whole using Glyco (when available, see
7
- [chromium issue 489420](http://crbug.com/489420)).
8
-
9
- The canonical version is located at
10
- [https://chrome-internal.googlesource.com/infra/infra_internal/+/master/commit_queue/cq_client]().
11
-
12
- When modifying cq.proto, consider adding checks to validator in
13
- [https://chrome-internal.googlesource.com/infra/infra_internal/+/master/appengine/commit_queue/src/commitqueue/validate.go]().
14
-
15
-
16
- ## Updating depot_tools with the copy of this.
17
-
18
- make update-depot-tools
19
-
20
- ## Generation of Python and Go bindings
21
-
22
- ### tl;dr
23
-
24
- make
25
-
26
-
27
- ### Details
28
-
29
- All commands below assume you are working in a standard infra_internal gclient
30
- checkout (e.g., after you ran `mkdir src && cd src && fetch infra_internal`) and
31
- are in current directory of this README.md (that is, in
32
- `cd infra_internal/commit_queue/cq_client`).
33
-
34
- To generate Python's `cq_pb2.py` you'll need to get and `protoc` of version
35
- **2.6.1**. You can get it by `make py-prepare`.
36
-
37
- make py
38
-
39
- To generate Golang's protobuf file `cq.pb.go`, you'll need to bootstrap
40
- infra/infra repository and go utilities `make go-prepare`.
41
-
42
- make go
43
-
44
- ## Notes
45
-
46
- 1. Please make sure to use proto3-compatible syntax, e.g. no default
47
- values, no required fields. As of this writing (Jan 2016),
48
- the Go protobuf compiler has been upgraded to 3.0.0. So, if you can generate go
49
- bindings, all is good.
50
-
51
- 2. If after generating Python binding, CQ tests fail with:
52
-
53
- TypeError: __init__() got an unexpected keyword argument 'syntax'
54
-
55
- You've probably used 3.0.0 protoc generator. We should eventually switch to 3x
56
- Python version as well, but it requires upgrading infra's Python ENV to newer
57
- package. See [bootstrap/README.md](../../bootstrap/README.md) for more
58
- information. We may end up deprecating Python before all infra's Python code
59
- can be moved to protobuf v3.
@@ -1,3 +0,0 @@
1
- # Copyright 2015 The Chromium Authors. All rights reserved.
2
- # Use of this source code is governed by a BSD-style license that can be
3
- # found in the LICENSE file.
@@ -1,3 +0,0 @@
1
- # Copyright 2015 The Chromium Authors. All rights reserved.
2
- # Use of this source code is governed by a BSD-style license that can be
3
- # found in the LICENSE file.
@@ -1,810 +0,0 @@
1
- // Code generated by protoc-gen-go.
2
- // source: cq.proto
3
- // DO NOT EDIT!
4
-
5
- /*
6
- Package cq is a generated protocol buffer package.
7
-
8
- It is generated from these files:
9
- cq.proto
10
-
11
- It has these top-level messages:
12
- Config
13
- Rietveld
14
- Gerrit
15
- Verifiers
16
- */
17
- package cq
18
-
19
- import proto "github.com/golang/protobuf/proto"
20
- import fmt "fmt"
21
- import math "math"
22
-
23
- // Reference imports to suppress errors if they are not otherwise used.
24
- var _ = proto.Marshal
25
- var _ = fmt.Errorf
26
- var _ = math.Inf
27
-
28
- // This is a compile-time assertion to ensure that this generated file
29
- // is compatible with the proto package it is being compiled against.
30
- // A compilation error at this line likely means your copy of the
31
- // proto package needs to be updated.
32
- const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
33
-
34
- // This message describes a Commit Queue configuration. The config file cq.cfg
35
- // should be stored in the config directory located on the branch that this CQ
36
- // should commit to.
37
- type Config struct {
38
- // Required. Version of the config format.
39
- Version *int32 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
40
- // Required. Name of the CQ. May only contain characters [a-zA-Z0-9_]. It is
41
- // used for various purposes, including, but not limited to match the project
42
- // name for CLs on Rietveld, name of the project in the status app, internal
43
- // name for logging etc. CQ name should not be confused with the project name
44
- // in LUCI as there may be multiple CQs per project.
45
- CqName *string `protobuf:"bytes,2,opt,name=cq_name,json=cqName" json:"cq_name,omitempty"`
46
- // List of verifiers that verify if the CL is ready to be committed.
47
- Verifiers *Verifiers `protobuf:"bytes,3,opt,name=verifiers" json:"verifiers,omitempty"`
48
- // URL of the CQ status app to push updates to.
49
- CqStatusUrl *string `protobuf:"bytes,4,opt,name=cq_status_url,json=cqStatusUrl" json:"cq_status_url,omitempty"`
50
- // DO NOT USE. Kept here for validator error messages.
51
- HideRefInCommittedMsg *bool `protobuf:"varint,5,opt,name=hide_ref_in_committed_msg,json=hideRefInCommittedMsg" json:"hide_ref_in_committed_msg,omitempty"`
52
- // Delay between commit bursts in seconds. Default value is 480.
53
- CommitBurstDelay *int32 `protobuf:"varint,6,opt,name=commit_burst_delay,json=commitBurstDelay" json:"commit_burst_delay,omitempty"`
54
- // Maximum number of commits done sequentially, before waiting for
55
- // commit_burst_delay. Default value is 4.
56
- MaxCommitBurst *int32 `protobuf:"varint,7,opt,name=max_commit_burst,json=maxCommitBurst" json:"max_commit_burst,omitempty"`
57
- // Defines whether a CQ is used in production. Allows to disable CQ for a
58
- // given branch. Default is true.
59
- InProduction *bool `protobuf:"varint,8,opt,name=in_production,json=inProduction" json:"in_production,omitempty"`
60
- // Configuration options for Rietveld code review.
61
- Rietveld *Rietveld `protobuf:"bytes,9,opt,name=rietveld" json:"rietveld,omitempty"`
62
- // Configuration options for Gerrit code review.
63
- Gerrit *Gerrit `protobuf:"bytes,15,opt,name=gerrit" json:"gerrit,omitempty"`
64
- // This can be used to override the Git repository URL used to checkout and
65
- // commit changes on CQ host. This should only be used in case, when the
66
- // source repository is not supported by luci-config (e.g. GitHub).
67
- GitRepoUrl *string `protobuf:"bytes,10,opt,name=git_repo_url,json=gitRepoUrl" json:"git_repo_url,omitempty"`
68
- // DO NOT USE. Kept here for validator error messages
69
- // and internal CQ usage (and insanity).
70
- // TODO(tandrii): clean insanity internally and update this message.
71
- TargetRef *string `protobuf:"bytes,11,opt,name=target_ref,json=targetRef" json:"target_ref,omitempty"`
72
- // DO NOT USE. Kept here for validator error messages.
73
- SvnRepoUrl *string `protobuf:"bytes,12,opt,name=svn_repo_url,json=svnRepoUrl" json:"svn_repo_url,omitempty"`
74
- // If present, the CQ will refrain from processing any commits whose start
75
- // time is >= this time.
76
- //
77
- // This is an UTC RFC3339 (stiptime(tm)) string representing the time.
78
- // For example, "2017-12-23T15:47:58Z" and Z is required.
79
- DrainingStartTime *string `protobuf:"bytes,13,opt,name=draining_start_time,json=drainingStartTime" json:"draining_start_time,omitempty"`
80
- XXX_unrecognized []byte `json:"-"`
81
- }
82
-
83
- func (m *Config) Reset() { *m = Config{} }
84
- func (m *Config) String() string { return proto.CompactTextString(m) }
85
- func (*Config) ProtoMessage() {}
86
- func (*Config) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
87
-
88
- func (m *Config) GetVersion() int32 {
89
- if m != nil && m.Version != nil {
90
- return *m.Version
91
- }
92
- return 0
93
- }
94
-
95
- func (m *Config) GetCqName() string {
96
- if m != nil && m.CqName != nil {
97
- return *m.CqName
98
- }
99
- return ""
100
- }
101
-
102
- func (m *Config) GetVerifiers() *Verifiers {
103
- if m != nil {
104
- return m.Verifiers
105
- }
106
- return nil
107
- }
108
-
109
- func (m *Config) GetCqStatusUrl() string {
110
- if m != nil && m.CqStatusUrl != nil {
111
- return *m.CqStatusUrl
112
- }
113
- return ""
114
- }
115
-
116
- func (m *Config) GetHideRefInCommittedMsg() bool {
117
- if m != nil && m.HideRefInCommittedMsg != nil {
118
- return *m.HideRefInCommittedMsg
119
- }
120
- return false
121
- }
122
-
123
- func (m *Config) GetCommitBurstDelay() int32 {
124
- if m != nil && m.CommitBurstDelay != nil {
125
- return *m.CommitBurstDelay
126
- }
127
- return 0
128
- }
129
-
130
- func (m *Config) GetMaxCommitBurst() int32 {
131
- if m != nil && m.MaxCommitBurst != nil {
132
- return *m.MaxCommitBurst
133
- }
134
- return 0
135
- }
136
-
137
- func (m *Config) GetInProduction() bool {
138
- if m != nil && m.InProduction != nil {
139
- return *m.InProduction
140
- }
141
- return false
142
- }
143
-
144
- func (m *Config) GetRietveld() *Rietveld {
145
- if m != nil {
146
- return m.Rietveld
147
- }
148
- return nil
149
- }
150
-
151
- func (m *Config) GetGerrit() *Gerrit {
152
- if m != nil {
153
- return m.Gerrit
154
- }
155
- return nil
156
- }
157
-
158
- func (m *Config) GetGitRepoUrl() string {
159
- if m != nil && m.GitRepoUrl != nil {
160
- return *m.GitRepoUrl
161
- }
162
- return ""
163
- }
164
-
165
- func (m *Config) GetTargetRef() string {
166
- if m != nil && m.TargetRef != nil {
167
- return *m.TargetRef
168
- }
169
- return ""
170
- }
171
-
172
- func (m *Config) GetSvnRepoUrl() string {
173
- if m != nil && m.SvnRepoUrl != nil {
174
- return *m.SvnRepoUrl
175
- }
176
- return ""
177
- }
178
-
179
- func (m *Config) GetDrainingStartTime() string {
180
- if m != nil && m.DrainingStartTime != nil {
181
- return *m.DrainingStartTime
182
- }
183
- return ""
184
- }
185
-
186
- type Rietveld struct {
187
- // Required. URL of the codereview site.
188
- Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
189
- // DO NOT USE. Kept here for validator error messages.
190
- ProjectBases []string `protobuf:"bytes,2,rep,name=project_bases,json=projectBases" json:"project_bases,omitempty"`
191
- XXX_unrecognized []byte `json:"-"`
192
- }
193
-
194
- func (m *Rietveld) Reset() { *m = Rietveld{} }
195
- func (m *Rietveld) String() string { return proto.CompactTextString(m) }
196
- func (*Rietveld) ProtoMessage() {}
197
- func (*Rietveld) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
198
-
199
- func (m *Rietveld) GetUrl() string {
200
- if m != nil && m.Url != nil {
201
- return *m.Url
202
- }
203
- return ""
204
- }
205
-
206
- func (m *Rietveld) GetProjectBases() []string {
207
- if m != nil {
208
- return m.ProjectBases
209
- }
210
- return nil
211
- }
212
-
213
- // Unlike Rietveld, Gerrit doesn't need a separate url.
214
- // Instead, the git_repo_url must be specified on the Gerrit instance,
215
- // and CQ will deduce Gerrit url from it.
216
- // Also, gerrit_cq_ability verifier must be defined in case of Gerrit.
217
- //
218
- // For example, if https://chromium.googlesource.com/infra/infra.git is your
219
- // repo url provided in `git_repo_url` above, then
220
- // https://chromium-review.googlesource.com/#/admin/projects/infra/infra should
221
- // show general properties of your project.
222
- //
223
- // Also,
224
- // https://chromium-review.googlesource.com/#/admin/projects/infra/infra,access
225
- // should show ACLs for refs in your project, but you may need to be admin to
226
- // see it. This will come handy to enable and customize the CQ-related workflows
227
- // for your project.
228
- type Gerrit struct {
229
- // Optional. If set, tells CQ to vote on a given label to mark result of CQ
230
- // run. The vote is either -1 if failed or 1 on success, and will be given on
231
- // non-dry runs only.
232
- // This vote can then be used in Gerrit's rule for submitting issues, so as to
233
- // require CQ run. CQ will attempt to submit issue only after setting this
234
- // label.
235
- CqVerifiedLabel *string `protobuf:"bytes,1,opt,name=cq_verified_label,json=cqVerifiedLabel" json:"cq_verified_label,omitempty"`
236
- // Optional and only allowed if cq_verified_label is set. Default: False.
237
- // If set, tells CQ to vote on the Verified label even on dry run.
238
- // This is useful if CQ has no presubmit builders, as dry run would be
239
- // totally equivalent to full run, except that CQ won't try to actually submit
240
- // the code.
241
- DryRunSetsCqVerifiedLabel *bool `protobuf:"varint,2,opt,name=dry_run_sets_cq_verified_label,json=dryRunSetsCqVerifiedLabel" json:"dry_run_sets_cq_verified_label,omitempty"`
242
- XXX_unrecognized []byte `json:"-"`
243
- }
244
-
245
- func (m *Gerrit) Reset() { *m = Gerrit{} }
246
- func (m *Gerrit) String() string { return proto.CompactTextString(m) }
247
- func (*Gerrit) ProtoMessage() {}
248
- func (*Gerrit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
249
-
250
- func (m *Gerrit) GetCqVerifiedLabel() string {
251
- if m != nil && m.CqVerifiedLabel != nil {
252
- return *m.CqVerifiedLabel
253
- }
254
- return ""
255
- }
256
-
257
- func (m *Gerrit) GetDryRunSetsCqVerifiedLabel() bool {
258
- if m != nil && m.DryRunSetsCqVerifiedLabel != nil {
259
- return *m.DryRunSetsCqVerifiedLabel
260
- }
261
- return false
262
- }
263
-
264
- // Verifiers are various types of checks that a Commit Queue performs on a CL.
265
- // All verifiers must pass in order for a CL to be landed. Configuration file
266
- // describes types of verifiers that should be applied to each CL and their
267
- // parameters.
268
- type Verifiers struct {
269
- // [Rietveld only] This verifier is used to ensure that an LGTM was posted to
270
- // the code review site from a valid project committer. It also validates
271
- // ability of non-committers to trigger CQ, which for Gerrit is done by
272
- // GerritCQAbilityVerifier.
273
- ReviewerLgtm *Verifiers_ReviewerLgtmVerifier `protobuf:"bytes,1,opt,name=reviewer_lgtm,json=reviewerLgtm" json:"reviewer_lgtm,omitempty"`
274
- // [Gerrit only] GerritCQAbilityVerifier ensures that a user who triggered
275
- // this CQ attempt has actually rights to do so based on 3 factors:
276
- // * membership of the user in committers & dryrunners group,
277
- // * the state of CL/patchset on which CQ is triggered,
278
- // * relationship of the user to the CL.
279
- // This verifier must be specified for Gerrit.
280
- GerritCqAbility *Verifiers_GerritCQAbilityVerifier `protobuf:"bytes,5,opt,name=gerrit_cq_ability,json=gerritCqAbility" json:"gerrit_cq_ability,omitempty"`
281
- // This verifier is used to check tree status before committing a CL. If the
282
- // tree is closed, then the verifier will wait until it is reopened.
283
- TreeStatus *Verifiers_TreeStatusLgtmVerifier `protobuf:"bytes,2,opt,name=tree_status,json=treeStatus" json:"tree_status,omitempty"`
284
- // This verifier triggers a set of tryjobs that are to be run on builders on
285
- // Buildbot. It automatically retries failed try-jobs and only allows CL to
286
- // land if each builder has succeeded in the latest retry. If a given tryjob
287
- // result is too old (>1 day) it is ignored.
288
- TryJob *Verifiers_TryJobVerifier `protobuf:"bytes,3,opt,name=try_job,json=tryJob" json:"try_job,omitempty"`
289
- // This verifier is used to ensure that the author has signed Google's
290
- // Contributor License Agreement.
291
- SignCla *Verifiers_SignCLAVerifier `protobuf:"bytes,4,opt,name=sign_cla,json=signCla" json:"sign_cla,omitempty"`
292
- XXX_unrecognized []byte `json:"-"`
293
- }
294
-
295
- func (m *Verifiers) Reset() { *m = Verifiers{} }
296
- func (m *Verifiers) String() string { return proto.CompactTextString(m) }
297
- func (*Verifiers) ProtoMessage() {}
298
- func (*Verifiers) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
299
-
300
- func (m *Verifiers) GetReviewerLgtm() *Verifiers_ReviewerLgtmVerifier {
301
- if m != nil {
302
- return m.ReviewerLgtm
303
- }
304
- return nil
305
- }
306
-
307
- func (m *Verifiers) GetGerritCqAbility() *Verifiers_GerritCQAbilityVerifier {
308
- if m != nil {
309
- return m.GerritCqAbility
310
- }
311
- return nil
312
- }
313
-
314
- func (m *Verifiers) GetTreeStatus() *Verifiers_TreeStatusLgtmVerifier {
315
- if m != nil {
316
- return m.TreeStatus
317
- }
318
- return nil
319
- }
320
-
321
- func (m *Verifiers) GetTryJob() *Verifiers_TryJobVerifier {
322
- if m != nil {
323
- return m.TryJob
324
- }
325
- return nil
326
- }
327
-
328
- func (m *Verifiers) GetSignCla() *Verifiers_SignCLAVerifier {
329
- if m != nil {
330
- return m.SignCla
331
- }
332
- return nil
333
- }
334
-
335
- type Verifiers_ReviewerLgtmVerifier struct {
336
- // Required. Name of the chrome-infra-auth group, which contains the list of
337
- // identities authorized to approve (lgtm) a CL and trigger CQ run or dry
338
- // run.
339
- CommitterList *string `protobuf:"bytes,1,opt,name=committer_list,json=committerList" json:"committer_list,omitempty"`
340
- // Number of seconds to wait for LGTM on CQ. Default value is 0.
341
- MaxWaitSecs *int32 `protobuf:"varint,2,opt,name=max_wait_secs,json=maxWaitSecs" json:"max_wait_secs,omitempty"`
342
- // Message to be posted to code review site when no LGTM is found. Default
343
- // value is "No LGTM from a valid reviewer yet. Only full committers are "
344
- // "accepted.\nEven if an LGTM may have been provided, it was from a "
345
- // "non-committer,\n_not_ a full super star committer.\nSee "
346
- // "http://www.chromium.org/getting-involved/become-a-committer\nNote that "
347
- // "this has nothing to do with OWNERS files."
348
- NoLgtmMsg *string `protobuf:"bytes,3,opt,name=no_lgtm_msg,json=noLgtmMsg" json:"no_lgtm_msg,omitempty"`
349
- // Optional, but recommended. Name of the chrome-infra-auth group,
350
- // which contains the list of identities authorized to trigger CQ dry run.
351
- // This is usually the same group as tryjob-access.
352
- DryRunAccessList *string `protobuf:"bytes,4,opt,name=dry_run_access_list,json=dryRunAccessList" json:"dry_run_access_list,omitempty"`
353
- XXX_unrecognized []byte `json:"-"`
354
- }
355
-
356
- func (m *Verifiers_ReviewerLgtmVerifier) Reset() { *m = Verifiers_ReviewerLgtmVerifier{} }
357
- func (m *Verifiers_ReviewerLgtmVerifier) String() string { return proto.CompactTextString(m) }
358
- func (*Verifiers_ReviewerLgtmVerifier) ProtoMessage() {}
359
- func (*Verifiers_ReviewerLgtmVerifier) Descriptor() ([]byte, []int) {
360
- return fileDescriptor0, []int{3, 0}
361
- }
362
-
363
- func (m *Verifiers_ReviewerLgtmVerifier) GetCommitterList() string {
364
- if m != nil && m.CommitterList != nil {
365
- return *m.CommitterList
366
- }
367
- return ""
368
- }
369
-
370
- func (m *Verifiers_ReviewerLgtmVerifier) GetMaxWaitSecs() int32 {
371
- if m != nil && m.MaxWaitSecs != nil {
372
- return *m.MaxWaitSecs
373
- }
374
- return 0
375
- }
376
-
377
- func (m *Verifiers_ReviewerLgtmVerifier) GetNoLgtmMsg() string {
378
- if m != nil && m.NoLgtmMsg != nil {
379
- return *m.NoLgtmMsg
380
- }
381
- return ""
382
- }
383
-
384
- func (m *Verifiers_ReviewerLgtmVerifier) GetDryRunAccessList() string {
385
- if m != nil && m.DryRunAccessList != nil {
386
- return *m.DryRunAccessList
387
- }
388
- return ""
389
- }
390
-
391
- type Verifiers_GerritCQAbilityVerifier struct {
392
- // Required. Name of the chrome-infra-auth group, which contains the list of
393
- // identities authorized to trigger CQ runs on any CLs in this project.
394
- CommitterList *string `protobuf:"bytes,1,opt,name=committer_list,json=committerList" json:"committer_list,omitempty"`
395
- // Optional, but strongly recommended. Name of the chrome-infra-auth group,
396
- // which contains the list of identities authorized to trigger CQ dry run
397
- // on Gerrit CLs they own (not to be confused with OWNER files) even if CL
398
- // hasn't been approved.
399
- // This is usually the same group as tryjob-access.
400
- DryRunAccessList *string `protobuf:"bytes,4,opt,name=dry_run_access_list,json=dryRunAccessList" json:"dry_run_access_list,omitempty"`
401
- // Optional. allow_submit_with_open_deps controls how CQ full run behaves
402
- // when current Gerrit CL has open dependencies (not yet submitted CLs on
403
- // which *this* CL depends).
404
- //
405
- // If set to false (default), CQ will abort full run attempt immediately if
406
- // open dependencies are detected.
407
- //
408
- // If set to true, then CQ will not abort full run and upon passing all
409
- // other verifiers, CQ will attempt to submit the CL regardless of open
410
- // dependencies. In turn, if Gerrit project config allows this, Gerrit will
411
- // execute submit all dependent CLs first and then this CL.
412
- AllowSubmitWithOpenDeps *bool `protobuf:"varint,5,opt,name=allow_submit_with_open_deps,json=allowSubmitWithOpenDeps" json:"allow_submit_with_open_deps,omitempty"`
413
- XXX_unrecognized []byte `json:"-"`
414
- }
415
-
416
- func (m *Verifiers_GerritCQAbilityVerifier) Reset() { *m = Verifiers_GerritCQAbilityVerifier{} }
417
- func (m *Verifiers_GerritCQAbilityVerifier) String() string { return proto.CompactTextString(m) }
418
- func (*Verifiers_GerritCQAbilityVerifier) ProtoMessage() {}
419
- func (*Verifiers_GerritCQAbilityVerifier) Descriptor() ([]byte, []int) {
420
- return fileDescriptor0, []int{3, 1}
421
- }
422
-
423
- func (m *Verifiers_GerritCQAbilityVerifier) GetCommitterList() string {
424
- if m != nil && m.CommitterList != nil {
425
- return *m.CommitterList
426
- }
427
- return ""
428
- }
429
-
430
- func (m *Verifiers_GerritCQAbilityVerifier) GetDryRunAccessList() string {
431
- if m != nil && m.DryRunAccessList != nil {
432
- return *m.DryRunAccessList
433
- }
434
- return ""
435
- }
436
-
437
- func (m *Verifiers_GerritCQAbilityVerifier) GetAllowSubmitWithOpenDeps() bool {
438
- if m != nil && m.AllowSubmitWithOpenDeps != nil {
439
- return *m.AllowSubmitWithOpenDeps
440
- }
441
- return false
442
- }
443
-
444
- type Verifiers_TreeStatusLgtmVerifier struct {
445
- // Required. URL of the project tree status app.
446
- TreeStatusUrl *string `protobuf:"bytes,1,opt,name=tree_status_url,json=treeStatusUrl" json:"tree_status_url,omitempty"`
447
- XXX_unrecognized []byte `json:"-"`
448
- }
449
-
450
- func (m *Verifiers_TreeStatusLgtmVerifier) Reset() { *m = Verifiers_TreeStatusLgtmVerifier{} }
451
- func (m *Verifiers_TreeStatusLgtmVerifier) String() string { return proto.CompactTextString(m) }
452
- func (*Verifiers_TreeStatusLgtmVerifier) ProtoMessage() {}
453
- func (*Verifiers_TreeStatusLgtmVerifier) Descriptor() ([]byte, []int) {
454
- return fileDescriptor0, []int{3, 2}
455
- }
456
-
457
- func (m *Verifiers_TreeStatusLgtmVerifier) GetTreeStatusUrl() string {
458
- if m != nil && m.TreeStatusUrl != nil {
459
- return *m.TreeStatusUrl
460
- }
461
- return ""
462
- }
463
-
464
- type Verifiers_TryJobVerifier struct {
465
- // Buckets on which tryjobs are triggered/watched.
466
- Buckets []*Verifiers_TryJobVerifier_Bucket `protobuf:"bytes,1,rep,name=buckets" json:"buckets,omitempty"`
467
- // Provides project specific trybot retry configuration. This overrides the
468
- // defaults used in the CQ.
469
- TryJobRetryConfig *Verifiers_TryJobVerifier_TryJobRetryConfig `protobuf:"bytes,2,opt,name=try_job_retry_config,json=tryJobRetryConfig" json:"try_job_retry_config,omitempty"`
470
- XXX_unrecognized []byte `json:"-"`
471
- }
472
-
473
- func (m *Verifiers_TryJobVerifier) Reset() { *m = Verifiers_TryJobVerifier{} }
474
- func (m *Verifiers_TryJobVerifier) String() string { return proto.CompactTextString(m) }
475
- func (*Verifiers_TryJobVerifier) ProtoMessage() {}
476
- func (*Verifiers_TryJobVerifier) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3, 3} }
477
-
478
- func (m *Verifiers_TryJobVerifier) GetBuckets() []*Verifiers_TryJobVerifier_Bucket {
479
- if m != nil {
480
- return m.Buckets
481
- }
482
- return nil
483
- }
484
-
485
- func (m *Verifiers_TryJobVerifier) GetTryJobRetryConfig() *Verifiers_TryJobVerifier_TryJobRetryConfig {
486
- if m != nil {
487
- return m.TryJobRetryConfig
488
- }
489
- return nil
490
- }
491
-
492
- type Verifiers_TryJobVerifier_EquivalentBuilder struct {
493
- // Required. Bucket name of this builder.
494
- Bucket *string `protobuf:"bytes,1,opt,name=bucket" json:"bucket,omitempty"`
495
- // Required. Name of this builder.
496
- Builder *string `protobuf:"bytes,2,opt,name=builder" json:"builder,omitempty"`
497
- // Percentage expressing probability of CQ requiring this builder
498
- // instead of the builder to which this builder is equilvanet to.
499
- //
500
- // If not specified, defaults to 50.
501
- //
502
- // A choice itself is made deterministicly based on CL alone, hereby
503
- // all CQ attempts on all patchsets of a given CL will require the same
504
- // builder, assuming CQ config doesn't change in the mean time.
505
- //
506
- // Note that if `owner_whitelist_group` is also specified, the choice over
507
- // two builders will be made only for CLs owned by whitelisted group.
508
- //
509
- // To illustrate, suppose percentage=10. Then,
510
- // Without owner_whitelist_group,
511
- // ~10% of all CQ attempts will choose this builder.
512
- // With owner_whitelist_group set and, suppose, 1/5 of CQ attempts are
513
- // ran on CLs owned by this group, then only ~(1/10)*(1/5) or
514
- // ~2% of all CQ attempts will choose this builder.
515
- Percentage *int32 `protobuf:"varint,3,opt,name=percentage" json:"percentage,omitempty"`
516
- // If not specified, limits the builder to CL owners in this group.
517
- OwnerWhitelistGroup *string `protobuf:"bytes,4,opt,name=owner_whitelist_group,json=ownerWhitelistGroup" json:"owner_whitelist_group,omitempty"`
518
- XXX_unrecognized []byte `json:"-"`
519
- }
520
-
521
- func (m *Verifiers_TryJobVerifier_EquivalentBuilder) Reset() {
522
- *m = Verifiers_TryJobVerifier_EquivalentBuilder{}
523
- }
524
- func (m *Verifiers_TryJobVerifier_EquivalentBuilder) String() string {
525
- return proto.CompactTextString(m)
526
- }
527
- func (*Verifiers_TryJobVerifier_EquivalentBuilder) ProtoMessage() {}
528
- func (*Verifiers_TryJobVerifier_EquivalentBuilder) Descriptor() ([]byte, []int) {
529
- return fileDescriptor0, []int{3, 3, 0}
530
- }
531
-
532
- func (m *Verifiers_TryJobVerifier_EquivalentBuilder) GetBucket() string {
533
- if m != nil && m.Bucket != nil {
534
- return *m.Bucket
535
- }
536
- return ""
537
- }
538
-
539
- func (m *Verifiers_TryJobVerifier_EquivalentBuilder) GetBuilder() string {
540
- if m != nil && m.Builder != nil {
541
- return *m.Builder
542
- }
543
- return ""
544
- }
545
-
546
- func (m *Verifiers_TryJobVerifier_EquivalentBuilder) GetPercentage() int32 {
547
- if m != nil && m.Percentage != nil {
548
- return *m.Percentage
549
- }
550
- return 0
551
- }
552
-
553
- func (m *Verifiers_TryJobVerifier_EquivalentBuilder) GetOwnerWhitelistGroup() string {
554
- if m != nil && m.OwnerWhitelistGroup != nil {
555
- return *m.OwnerWhitelistGroup
556
- }
557
- return ""
558
- }
559
-
560
- type Verifiers_TryJobVerifier_Builder struct {
561
- // Name of the builder.
562
- Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
563
- // Optionally specify a builder name that triggers the given builder.
564
- // Otherwise, CQ will trigger this builder (default). If in doubt, you
565
- // probably won't need this.
566
- TriggeredBy *string `protobuf:"bytes,2,opt,name=triggered_by,json=triggeredBy" json:"triggered_by,omitempty"`
567
- // When this field is present, it marks given builder as experimental. It
568
- // is only executed on a given percentage of the CLs and the outcome does
569
- // not affect the decicion whether a CL can land or not. This is typically
570
- // used to test new builders and estimate their capacity requirements.
571
- ExperimentPercentage *float32 `protobuf:"fixed32,4,opt,name=experiment_percentage,json=experimentPercentage" json:"experiment_percentage,omitempty"`
572
- // Optionally specified alternative builder for CQ to choose instead.
573
- // If provided, CQ will choose only one of the equivalent builders as
574
- // required based purely on given CL and CL's owner and **regardless** of
575
- // the possibly already completed try jobs.
576
- //
577
- // Note: none of the equivalent builders should be part of triggered_by
578
- // chain, although CQ may eventually relax this requirement somewhat.
579
- EquivalentTo *Verifiers_TryJobVerifier_EquivalentBuilder `protobuf:"bytes,5,opt,name=equivalent_to,json=equivalentTo" json:"equivalent_to,omitempty"`
580
- XXX_unrecognized []byte `json:"-"`
581
- }
582
-
583
- func (m *Verifiers_TryJobVerifier_Builder) Reset() { *m = Verifiers_TryJobVerifier_Builder{} }
584
- func (m *Verifiers_TryJobVerifier_Builder) String() string { return proto.CompactTextString(m) }
585
- func (*Verifiers_TryJobVerifier_Builder) ProtoMessage() {}
586
- func (*Verifiers_TryJobVerifier_Builder) Descriptor() ([]byte, []int) {
587
- return fileDescriptor0, []int{3, 3, 1}
588
- }
589
-
590
- func (m *Verifiers_TryJobVerifier_Builder) GetName() string {
591
- if m != nil && m.Name != nil {
592
- return *m.Name
593
- }
594
- return ""
595
- }
596
-
597
- func (m *Verifiers_TryJobVerifier_Builder) GetTriggeredBy() string {
598
- if m != nil && m.TriggeredBy != nil {
599
- return *m.TriggeredBy
600
- }
601
- return ""
602
- }
603
-
604
- func (m *Verifiers_TryJobVerifier_Builder) GetExperimentPercentage() float32 {
605
- if m != nil && m.ExperimentPercentage != nil {
606
- return *m.ExperimentPercentage
607
- }
608
- return 0
609
- }
610
-
611
- func (m *Verifiers_TryJobVerifier_Builder) GetEquivalentTo() *Verifiers_TryJobVerifier_EquivalentBuilder {
612
- if m != nil {
613
- return m.EquivalentTo
614
- }
615
- return nil
616
- }
617
-
618
- type Verifiers_TryJobVerifier_Bucket struct {
619
- // Name of the bucket. This is typically the same as a master name without
620
- // the 'master.' prefix, e.g. 'chromium.linux' or 'tryserver.webrtc'. CQ
621
- // will automatically add 'master.' prefix if not there.
622
- Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
623
- // Builders on which tryjobs should be triggered.
624
- Builders []*Verifiers_TryJobVerifier_Builder `protobuf:"bytes,2,rep,name=builders" json:"builders,omitempty"`
625
- XXX_unrecognized []byte `json:"-"`
626
- }
627
-
628
- func (m *Verifiers_TryJobVerifier_Bucket) Reset() { *m = Verifiers_TryJobVerifier_Bucket{} }
629
- func (m *Verifiers_TryJobVerifier_Bucket) String() string { return proto.CompactTextString(m) }
630
- func (*Verifiers_TryJobVerifier_Bucket) ProtoMessage() {}
631
- func (*Verifiers_TryJobVerifier_Bucket) Descriptor() ([]byte, []int) {
632
- return fileDescriptor0, []int{3, 3, 2}
633
- }
634
-
635
- func (m *Verifiers_TryJobVerifier_Bucket) GetName() string {
636
- if m != nil && m.Name != nil {
637
- return *m.Name
638
- }
639
- return ""
640
- }
641
-
642
- func (m *Verifiers_TryJobVerifier_Bucket) GetBuilders() []*Verifiers_TryJobVerifier_Builder {
643
- if m != nil {
644
- return m.Builders
645
- }
646
- return nil
647
- }
648
-
649
- type Verifiers_TryJobVerifier_TryJobRetryConfig struct {
650
- // Retry quota for a single tryjob.
651
- TryJobRetryQuota *int32 `protobuf:"varint,1,opt,name=try_job_retry_quota,json=tryJobRetryQuota" json:"try_job_retry_quota,omitempty"`
652
- // Retry quota for all tryjobs in a CL.
653
- GlobalRetryQuota *int32 `protobuf:"varint,2,opt,name=global_retry_quota,json=globalRetryQuota" json:"global_retry_quota,omitempty"`
654
- // The weight assigned to each tryjob failure.
655
- FailureRetryWeight *int32 `protobuf:"varint,3,opt,name=failure_retry_weight,json=failureRetryWeight" json:"failure_retry_weight,omitempty"`
656
- // The weight assigned to each transient failure.
657
- TransientFailureRetryWeight *int32 `protobuf:"varint,4,opt,name=transient_failure_retry_weight,json=transientFailureRetryWeight" json:"transient_failure_retry_weight,omitempty"`
658
- // The weight assigned to tryjob timeouts.
659
- TimeoutRetryWeight *int32 `protobuf:"varint,5,opt,name=timeout_retry_weight,json=timeoutRetryWeight" json:"timeout_retry_weight,omitempty"`
660
- XXX_unrecognized []byte `json:"-"`
661
- }
662
-
663
- func (m *Verifiers_TryJobVerifier_TryJobRetryConfig) Reset() {
664
- *m = Verifiers_TryJobVerifier_TryJobRetryConfig{}
665
- }
666
- func (m *Verifiers_TryJobVerifier_TryJobRetryConfig) String() string {
667
- return proto.CompactTextString(m)
668
- }
669
- func (*Verifiers_TryJobVerifier_TryJobRetryConfig) ProtoMessage() {}
670
- func (*Verifiers_TryJobVerifier_TryJobRetryConfig) Descriptor() ([]byte, []int) {
671
- return fileDescriptor0, []int{3, 3, 3}
672
- }
673
-
674
- func (m *Verifiers_TryJobVerifier_TryJobRetryConfig) GetTryJobRetryQuota() int32 {
675
- if m != nil && m.TryJobRetryQuota != nil {
676
- return *m.TryJobRetryQuota
677
- }
678
- return 0
679
- }
680
-
681
- func (m *Verifiers_TryJobVerifier_TryJobRetryConfig) GetGlobalRetryQuota() int32 {
682
- if m != nil && m.GlobalRetryQuota != nil {
683
- return *m.GlobalRetryQuota
684
- }
685
- return 0
686
- }
687
-
688
- func (m *Verifiers_TryJobVerifier_TryJobRetryConfig) GetFailureRetryWeight() int32 {
689
- if m != nil && m.FailureRetryWeight != nil {
690
- return *m.FailureRetryWeight
691
- }
692
- return 0
693
- }
694
-
695
- func (m *Verifiers_TryJobVerifier_TryJobRetryConfig) GetTransientFailureRetryWeight() int32 {
696
- if m != nil && m.TransientFailureRetryWeight != nil {
697
- return *m.TransientFailureRetryWeight
698
- }
699
- return 0
700
- }
701
-
702
- func (m *Verifiers_TryJobVerifier_TryJobRetryConfig) GetTimeoutRetryWeight() int32 {
703
- if m != nil && m.TimeoutRetryWeight != nil {
704
- return *m.TimeoutRetryWeight
705
- }
706
- return 0
707
- }
708
-
709
- type Verifiers_SignCLAVerifier struct {
710
- XXX_unrecognized []byte `json:"-"`
711
- }
712
-
713
- func (m *Verifiers_SignCLAVerifier) Reset() { *m = Verifiers_SignCLAVerifier{} }
714
- func (m *Verifiers_SignCLAVerifier) String() string { return proto.CompactTextString(m) }
715
- func (*Verifiers_SignCLAVerifier) ProtoMessage() {}
716
- func (*Verifiers_SignCLAVerifier) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3, 4} }
717
-
718
- func init() {
719
- proto.RegisterType((*Config)(nil), "Config")
720
- proto.RegisterType((*Rietveld)(nil), "Rietveld")
721
- proto.RegisterType((*Gerrit)(nil), "Gerrit")
722
- proto.RegisterType((*Verifiers)(nil), "Verifiers")
723
- proto.RegisterType((*Verifiers_ReviewerLgtmVerifier)(nil), "Verifiers.ReviewerLgtmVerifier")
724
- proto.RegisterType((*Verifiers_GerritCQAbilityVerifier)(nil), "Verifiers.GerritCQAbilityVerifier")
725
- proto.RegisterType((*Verifiers_TreeStatusLgtmVerifier)(nil), "Verifiers.TreeStatusLgtmVerifier")
726
- proto.RegisterType((*Verifiers_TryJobVerifier)(nil), "Verifiers.TryJobVerifier")
727
- proto.RegisterType((*Verifiers_TryJobVerifier_EquivalentBuilder)(nil), "Verifiers.TryJobVerifier.EquivalentBuilder")
728
- proto.RegisterType((*Verifiers_TryJobVerifier_Builder)(nil), "Verifiers.TryJobVerifier.Builder")
729
- proto.RegisterType((*Verifiers_TryJobVerifier_Bucket)(nil), "Verifiers.TryJobVerifier.Bucket")
730
- proto.RegisterType((*Verifiers_TryJobVerifier_TryJobRetryConfig)(nil), "Verifiers.TryJobVerifier.TryJobRetryConfig")
731
- proto.RegisterType((*Verifiers_SignCLAVerifier)(nil), "Verifiers.SignCLAVerifier")
732
- }
733
-
734
- func init() { proto.RegisterFile("cq.proto", fileDescriptor0) }
735
-
736
- var fileDescriptor0 = []byte{
737
- // 1147 bytes of a gzipped FileDescriptorProto
738
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xdb, 0x8e, 0x1b, 0x45,
739
- 0x10, 0x95, 0xf7, 0xe2, 0x4b, 0xd9, 0xce, 0xae, 0x3b, 0x9b, 0x64, 0xe2, 0x48, 0x1b, 0x67, 0x21,
740
- 0xc8, 0xe2, 0x62, 0x45, 0x46, 0xbc, 0xa0, 0x20, 0xb1, 0x76, 0x20, 0x02, 0x2d, 0x21, 0x19, 0x27,
741
- 0xec, 0x03, 0x48, 0xad, 0xf1, 0x4c, 0x79, 0xb6, 0xc3, 0xdc, 0xdc, 0xdd, 0x63, 0xaf, 0x3f, 0x81,
742
- 0x77, 0x5e, 0xf2, 0x05, 0x3c, 0x21, 0xf1, 0x17, 0xfc, 0x16, 0xea, 0xcb, 0x8c, 0xed, 0xdd, 0x0d,
743
- 0x82, 0xb7, 0xe9, 0x73, 0x4e, 0x55, 0x75, 0x57, 0x55, 0x57, 0x0f, 0xd4, 0xfd, 0xf9, 0x20, 0xe3,
744
- 0xa9, 0x4c, 0x4f, 0xfe, 0xd8, 0x83, 0xea, 0x38, 0x4d, 0x66, 0x2c, 0x24, 0x0e, 0xd4, 0x16, 0xc8,
745
- 0x05, 0x4b, 0x13, 0xa7, 0xd2, 0xab, 0xf4, 0xf7, 0xdd, 0x62, 0x49, 0xee, 0x41, 0xcd, 0x9f, 0xd3,
746
- 0xc4, 0x8b, 0xd1, 0xd9, 0xe9, 0x55, 0xfa, 0x0d, 0xb7, 0xea, 0xcf, 0x5f, 0x78, 0x31, 0x92, 0x3e,
747
- 0x34, 0x16, 0xc8, 0xd9, 0x8c, 0x21, 0x17, 0xce, 0x6e, 0xaf, 0xd2, 0x6f, 0x0e, 0x61, 0xf0, 0x53,
748
- 0x81, 0xb8, 0x6b, 0x92, 0x9c, 0x40, 0xdb, 0x9f, 0x53, 0x21, 0x3d, 0x99, 0x0b, 0x9a, 0xf3, 0xc8,
749
- 0xd9, 0xd3, 0x8e, 0x9a, 0xfe, 0x7c, 0xa2, 0xb1, 0x37, 0x3c, 0x22, 0x4f, 0xe1, 0xfe, 0x05, 0x0b,
750
- 0x90, 0x72, 0x9c, 0x51, 0x96, 0x50, 0x3f, 0x8d, 0x63, 0x26, 0x25, 0x06, 0x34, 0x16, 0xa1, 0xb3,
751
- 0xdf, 0xab, 0xf4, 0xeb, 0xa3, 0x1d, 0xa7, 0xe2, 0xde, 0x51, 0x22, 0x17, 0x67, 0xdf, 0x25, 0xe3,
752
- 0x42, 0xf1, 0x83, 0x08, 0xc9, 0xa7, 0x40, 0x8c, 0x05, 0x9d, 0xe6, 0x5c, 0x48, 0x1a, 0x60, 0xe4,
753
- 0xad, 0x9c, 0xaa, 0x3e, 0xc9, 0xa1, 0x61, 0x46, 0x8a, 0x78, 0xa6, 0x70, 0xd2, 0x87, 0xc3, 0xd8,
754
- 0xbb, 0xa4, 0x9b, 0x16, 0x4e, 0x4d, 0x6b, 0x6f, 0xc5, 0xde, 0xe5, 0x78, 0x2d, 0x27, 0x1f, 0x40,
755
- 0x9b, 0x25, 0x34, 0xe3, 0x69, 0x90, 0xfb, 0x52, 0x25, 0xa7, 0xae, 0x76, 0xe2, 0xb6, 0x58, 0xf2,
756
- 0xb2, 0xc4, 0xc8, 0x63, 0xa8, 0x73, 0x86, 0x72, 0x81, 0x51, 0xe0, 0x34, 0x74, 0x1e, 0x1a, 0x03,
757
- 0xd7, 0x02, 0x6e, 0x49, 0x91, 0x87, 0x50, 0x0d, 0x91, 0x73, 0x26, 0x9d, 0x03, 0x2d, 0xaa, 0x0d,
758
- 0x9e, 0xeb, 0xa5, 0x6b, 0x61, 0xd2, 0x83, 0x56, 0xc8, 0x24, 0xe5, 0x98, 0xa5, 0x3a, 0x4b, 0xa0,
759
- 0xb3, 0x04, 0x21, 0x93, 0x2e, 0x66, 0xa9, 0x4a, 0xd2, 0x23, 0x00, 0xe9, 0xf1, 0x10, 0x95, 0x68,
760
- 0xe6, 0x34, 0x15, 0xaf, 0xb3, 0xd2, 0x30, 0xa8, 0x8b, 0x33, 0xf2, 0x21, 0xb4, 0xc4, 0x22, 0x59,
761
- 0x3b, 0x69, 0x95, 0x22, 0x10, 0x8b, 0xa4, 0x70, 0x34, 0x80, 0xdb, 0x01, 0xf7, 0x58, 0xc2, 0x92,
762
- 0x50, 0xd5, 0x85, 0x4b, 0x2a, 0x59, 0x8c, 0x4e, 0x5b, 0x47, 0xec, 0x14, 0xd4, 0x44, 0x31, 0xaf,
763
- 0x59, 0x8c, 0x27, 0xa7, 0x50, 0x2f, 0x4e, 0x44, 0x0e, 0x61, 0x57, 0x39, 0xae, 0x68, 0xad, 0xfa,
764
- 0x54, 0x59, 0xca, 0x78, 0xfa, 0x16, 0x7d, 0x49, 0xa7, 0x9e, 0x40, 0xe1, 0xec, 0xf4, 0x76, 0xfb,
765
- 0x0d, 0xb7, 0x65, 0xc1, 0x91, 0xc2, 0x4e, 0x96, 0x50, 0x35, 0xe7, 0x25, 0x1f, 0x43, 0xc7, 0x9f,
766
- 0x53, 0xdb, 0x1e, 0x01, 0x8d, 0xbc, 0x29, 0x16, 0xee, 0x0e, 0xfc, 0xb9, 0xed, 0xa0, 0xe0, 0x4c,
767
- 0xc1, 0xe4, 0x14, 0x8e, 0x03, 0xbe, 0xa2, 0x3c, 0x4f, 0xa8, 0x40, 0x29, 0xe8, 0x75, 0xc3, 0x1d,
768
- 0x5d, 0x91, 0xfb, 0x01, 0x5f, 0xb9, 0x79, 0x32, 0x41, 0x29, 0xc6, 0xdb, 0x2e, 0x4e, 0x7e, 0x6f,
769
- 0x43, 0xa3, 0x6c, 0x4b, 0xf2, 0x0c, 0xda, 0x1c, 0x17, 0x0c, 0x97, 0xc8, 0x69, 0x14, 0xca, 0x58,
770
- 0x07, 0x6e, 0x0e, 0x1f, 0xae, 0x3b, 0x77, 0xe0, 0x5a, 0xfe, 0x2c, 0x94, 0x71, 0x81, 0xba, 0x2d,
771
- 0xbe, 0x81, 0x92, 0x17, 0xd0, 0x31, 0x45, 0x53, 0x1b, 0xf2, 0xa6, 0x2c, 0x62, 0x72, 0xa5, 0xbb,
772
- 0xb4, 0x39, 0x3c, 0xd9, 0xf0, 0x64, 0x0e, 0x3c, 0x7e, 0x75, 0x6a, 0x14, 0xa5, 0xb3, 0x03, 0x63,
773
- 0x3c, 0x9e, 0x5b, 0x82, 0x8c, 0xa0, 0x29, 0x39, 0xa2, 0xbd, 0x23, 0xfa, 0x4c, 0xcd, 0xe1, 0xa3,
774
- 0x0d, 0x4f, 0xaf, 0x39, 0xa2, 0xb9, 0x2c, 0x5b, 0xbb, 0x02, 0x59, 0xe2, 0x64, 0x08, 0x35, 0xc9,
775
- 0x57, 0xf4, 0x6d, 0x3a, 0xb5, 0xb7, 0xf1, 0xfe, 0x96, 0xfd, 0xea, 0xfb, 0x74, 0x5a, 0xda, 0x55,
776
- 0xa5, 0x5e, 0x93, 0x2f, 0xa0, 0x2e, 0x58, 0x98, 0x50, 0x3f, 0xf2, 0xf4, 0xa5, 0x6c, 0x0e, 0xbb,
777
- 0x1b, 0x46, 0x13, 0x16, 0x26, 0xe3, 0xb3, 0xd3, 0xd2, 0xaa, 0xa6, 0xb4, 0xe3, 0xc8, 0xeb, 0xfe,
778
- 0x55, 0x81, 0xa3, 0x9b, 0xb2, 0x44, 0x1e, 0xc3, 0xad, 0xe2, 0xe6, 0x72, 0x1a, 0x31, 0x21, 0x6d,
779
- 0x5d, 0xdb, 0x25, 0x7a, 0xc6, 0x84, 0x54, 0x03, 0x41, 0x5d, 0xc0, 0xa5, 0xc7, 0x24, 0x15, 0xe8,
780
- 0x9b, 0x03, 0xef, 0xbb, 0xcd, 0xd8, 0xbb, 0x3c, 0xf7, 0x98, 0x9c, 0xa0, 0x2f, 0xc8, 0x31, 0x34,
781
- 0x93, 0x54, 0x97, 0x48, 0x8f, 0x80, 0x5d, 0xed, 0xa7, 0x91, 0xa4, 0x2a, 0x9e, 0xba, 0xf2, 0x9f,
782
- 0xa9, 0x16, 0x36, 0x9d, 0xe1, 0xf9, 0x3e, 0x0a, 0x61, 0xe2, 0x99, 0xd1, 0x72, 0x68, 0xda, 0xe1,
783
- 0x54, 0x13, 0x2a, 0x64, 0xf7, 0xcf, 0x0a, 0xdc, 0x7b, 0x4f, 0x39, 0xfe, 0xeb, 0xae, 0xff, 0x5f,
784
- 0x44, 0xf2, 0x14, 0x1e, 0x78, 0x51, 0x94, 0x2e, 0xa9, 0xc8, 0xa7, 0x6a, 0xce, 0x2c, 0x99, 0xbc,
785
- 0xa0, 0x69, 0x86, 0x09, 0x0d, 0x30, 0x13, 0x66, 0xa6, 0xb9, 0xf7, 0xb4, 0x64, 0xa2, 0x15, 0xe7,
786
- 0x4c, 0x5e, 0xfc, 0x98, 0x61, 0xf2, 0x0c, 0x33, 0xd1, 0xfd, 0x1a, 0xee, 0xde, 0x5c, 0x73, 0xf2,
787
- 0x11, 0x1c, 0x6c, 0xf4, 0x0a, 0x5d, 0xdf, 0xc5, 0xf6, 0xba, 0x19, 0xde, 0xf0, 0xa8, 0xfb, 0x5b,
788
- 0x0d, 0x6e, 0x6d, 0x97, 0x9d, 0x7c, 0x09, 0xb5, 0x69, 0xee, 0xff, 0x8a, 0x52, 0x38, 0x95, 0xde,
789
- 0x6e, 0xbf, 0x39, 0xec, 0xbd, 0xb7, 0x45, 0x06, 0x23, 0x2d, 0x74, 0x0b, 0x03, 0xf2, 0x0b, 0x1c,
790
- 0xd9, 0xf6, 0xa2, 0x1c, 0xd5, 0x97, 0xaf, 0x5f, 0x0e, 0xdb, 0xab, 0x9f, 0xbc, 0xdf, 0x91, 0x59,
791
- 0xba, 0xca, 0xc6, 0x3c, 0x36, 0x6e, 0x47, 0x5e, 0x85, 0xba, 0xef, 0x2a, 0xd0, 0xf9, 0x66, 0x9e,
792
- 0xb3, 0x85, 0x17, 0x61, 0x22, 0x47, 0x39, 0x8b, 0x02, 0xe4, 0xe4, 0x2e, 0x54, 0x4d, 0x78, 0x7b,
793
- 0x42, 0xbb, 0x52, 0xaf, 0xd5, 0xd4, 0x48, 0xec, 0x9b, 0x54, 0x2c, 0xc9, 0x31, 0x40, 0x86, 0xdc,
794
- 0xc7, 0x44, 0x7a, 0x21, 0xea, 0xa6, 0xd9, 0x77, 0x37, 0x10, 0x32, 0x84, 0x3b, 0xe9, 0x32, 0x41,
795
- 0x4e, 0x97, 0x17, 0x4c, 0xa2, 0xaa, 0x1f, 0x0d, 0x79, 0x9a, 0x67, 0xb6, 0x8a, 0xb7, 0x35, 0x79,
796
- 0x5e, 0x70, 0xcf, 0x15, 0xd5, 0xfd, 0xbb, 0x02, 0xb5, 0x62, 0x47, 0x04, 0xf6, 0xf4, 0x53, 0x68,
797
- 0xf6, 0xa3, 0xbf, 0xc9, 0x23, 0x68, 0x49, 0xce, 0xc2, 0x10, 0x39, 0x06, 0x74, 0xba, 0xb2, 0x5b,
798
- 0x6a, 0x96, 0xd8, 0x68, 0x45, 0x3e, 0x87, 0x3b, 0x78, 0x99, 0x21, 0x67, 0x31, 0x26, 0x92, 0x6e,
799
- 0xec, 0x50, 0x85, 0xdd, 0x71, 0x8f, 0xd6, 0xe4, 0xcb, 0xf5, 0x5e, 0x5f, 0x42, 0x1b, 0xcb, 0x94,
800
- 0x50, 0x99, 0xda, 0x01, 0xf3, 0x2f, 0xa9, 0xbe, 0x96, 0x41, 0xb7, 0xb5, 0xf6, 0xf0, 0x3a, 0xed,
801
- 0xfe, 0x0c, 0x55, 0x53, 0xd6, 0x1b, 0xcf, 0xf1, 0x15, 0xd4, 0x6d, 0x1a, 0xcd, 0x04, 0xbf, 0x3a,
802
- 0x81, 0xae, 0xb4, 0x87, 0x09, 0x50, 0x9a, 0x74, 0xdf, 0xed, 0x40, 0xe7, 0x5a, 0xad, 0xd5, 0xa5,
803
- 0xd9, 0x6e, 0x9b, 0x79, 0x9e, 0x4a, 0xcf, 0xfe, 0x64, 0x1c, 0x6e, 0x34, 0xc2, 0x2b, 0x85, 0xab,
804
- 0x87, 0x3c, 0x8c, 0xd2, 0xa9, 0x17, 0x6d, 0xa9, 0xcd, 0x78, 0x38, 0x34, 0xcc, 0x86, 0xfa, 0x09,
805
- 0x1c, 0xcd, 0x3c, 0x16, 0xe5, 0x1c, 0xad, 0x7c, 0x89, 0x2c, 0xbc, 0x90, 0xb6, 0xee, 0xc4, 0x72,
806
- 0xda, 0xe0, 0x5c, 0x33, 0x64, 0x0c, 0xc7, 0x92, 0x7b, 0x89, 0x60, 0x2a, 0xa5, 0x37, 0xda, 0xee,
807
- 0x69, 0xdb, 0x07, 0xa5, 0xea, 0xdb, 0xeb, 0x4e, 0x9e, 0xc0, 0x91, 0x7a, 0x2e, 0xd3, 0x5c, 0x6e,
808
- 0x9b, 0xee, 0x9b, 0xb0, 0x96, 0xdb, 0xb0, 0xe8, 0x76, 0xe0, 0xe0, 0xca, 0x30, 0xfd, 0x27, 0x00,
809
- 0x00, 0xff, 0xff, 0x21, 0xa6, 0x4b, 0xd2, 0x87, 0x09, 0x00, 0x00,
810
- }