diff --git a/src/Pass/TwitterTransformPass.php b/src/Pass/TwitterTransformPass.php
index e586bdcd..7e88ba9a 100644
--- a/src/Pass/TwitterTransformPass.php
+++ b/src/Pass/TwitterTransformPass.php
@@ -142,7 +142,7 @@ protected function getTweetId(DOMQuery $el)
$matches = [];
if (preg_match('&(*UTF8)twitter.com/.*/status(?:es)?/([^/]+)&i', $href, $matches)) {
if (!empty($matches[1])) {
- $tweet_id = $matches[1];
+ $tweet_id = strtok($matches[1], "?");
break;
}
}
diff --git a/src/Spec/validator-generated.php b/src/Spec/validator-generated.php
index 082bb58a..9ce67bb3 100644
--- a/src/Spec/validator-generated.php
+++ b/src/Spec/validator-generated.php
@@ -1045,1060 +1045,1056 @@ public static function createValidationRules() {
$o_0->tags[] = $o_186;
$o_188 = new TagSpec();
$o_188->tag_name = 'span';
+ $o_189 = new AttrSpec();
+ $o_189->name = 'visible-when-invalid';
+ $o_188->attrs[] = $o_189;
+ $o_190 = new AttrSpec();
+ $o_190->name = 'validation-for';
+ $o_188->attrs[] = $o_190;
$o_0->tags[] = $o_188;
- $o_189 = new TagSpec();
- $o_189->tag_name = 'br';
- $o_0->tags[] = $o_189;
- $o_190 = new TagSpec();
- $o_190->tag_name = 'wbr';
- $o_0->tags[] = $o_190;
$o_191 = new TagSpec();
- $o_191->tag_name = 'ins';
- $o_192 = new AttrSpec();
- $o_192->name = 'datetime';
- $o_191->attrs[] = $o_192;
- $o_191->attr_lists = ['cite-attr'];
+ $o_191->tag_name = 'br';
$o_0->tags[] = $o_191;
+ $o_192 = new TagSpec();
+ $o_192->tag_name = 'wbr';
+ $o_0->tags[] = $o_192;
$o_193 = new TagSpec();
- $o_193->tag_name = 'del';
+ $o_193->tag_name = 'ins';
$o_194 = new AttrSpec();
$o_194->name = 'datetime';
$o_193->attrs[] = $o_194;
$o_193->attr_lists = ['cite-attr'];
$o_0->tags[] = $o_193;
$o_195 = new TagSpec();
- $o_195->tag_name = 'img';
+ $o_195->tag_name = 'del';
$o_196 = new AttrSpec();
- $o_196->name = 'alt';
+ $o_196->name = 'datetime';
$o_195->attrs[] = $o_196;
- $o_197 = new AttrSpec();
- $o_197->name = 'ismap';
- $o_195->attrs[] = $o_197;
+ $o_195->attr_lists = ['cite-attr'];
+ $o_0->tags[] = $o_195;
+ $o_197 = new TagSpec();
+ $o_197->tag_name = 'img';
$o_198 = new AttrSpec();
- $o_198->name = 'longdesc';
- $o_199 = new UrlSpec();
- $o_199->allowed_protocol = ['http', 'https'];
- $o_199->allow_relative = true;
- $o_198->value_url = $o_199;
- $o_195->attrs[] = $o_198;
+ $o_198->name = 'alt';
+ $o_197->attrs[] = $o_198;
+ $o_199 = new AttrSpec();
+ $o_199->name = 'ismap';
+ $o_197->attrs[] = $o_199;
$o_200 = new AttrSpec();
- $o_200->name = 'src';
- $o_200->alternative_names = ['srcset'];
- $o_200->mandatory = true;
+ $o_200->name = 'longdesc';
$o_201 = new UrlSpec();
- $o_201->allowed_protocol = ['data', 'https'];
+ $o_201->allowed_protocol = ['http', 'https'];
$o_201->allow_relative = true;
$o_200->value_url = $o_201;
- $o_195->attrs[] = $o_200;
+ $o_197->attrs[] = $o_200;
$o_202 = new AttrSpec();
- $o_202->name = 'border';
- $o_195->attrs[] = $o_202;
- $o_203 = new AttrSpec();
- $o_203->name = 'height';
- $o_195->attrs[] = $o_203;
+ $o_202->name = 'src';
+ $o_202->alternative_names = ['srcset'];
+ $o_202->mandatory = true;
+ $o_203 = new UrlSpec();
+ $o_203->allowed_protocol = ['data', 'https'];
+ $o_203->allow_relative = true;
+ $o_202->value_url = $o_203;
+ $o_197->attrs[] = $o_202;
$o_204 = new AttrSpec();
- $o_204->name = 'width';
- $o_195->attrs[] = $o_204;
- $o_195->spec_url = 'https://www.ampproject.org/docs/reference/amp-img.html';
- $o_195->mandatory_ancestor = 'noscript';
- $o_195->mandatory_ancestor_suggested_alternative = 'amp-img';
- $o_0->tags[] = $o_195;
- $o_205 = new TagSpec();
- $o_205->tag_name = 'video';
+ $o_204->name = 'border';
+ $o_197->attrs[] = $o_204;
+ $o_205 = new AttrSpec();
+ $o_205->name = 'height';
+ $o_197->attrs[] = $o_205;
$o_206 = new AttrSpec();
- $o_206->name = 'autoplay';
- $o_205->attrs[] = $o_206;
- $o_207 = new AttrSpec();
- $o_207->name = 'controls';
- $o_205->attrs[] = $o_207;
+ $o_206->name = 'width';
+ $o_197->attrs[] = $o_206;
+ $o_197->spec_url = 'https://www.ampproject.org/docs/reference/amp-img.html';
+ $o_197->mandatory_ancestor = 'noscript';
+ $o_197->mandatory_ancestor_suggested_alternative = 'amp-img';
+ $o_0->tags[] = $o_197;
+ $o_207 = new TagSpec();
+ $o_207->tag_name = 'video';
$o_208 = new AttrSpec();
- $o_208->name = 'height';
- $o_205->attrs[] = $o_208;
+ $o_208->name = 'autoplay';
+ $o_207->attrs[] = $o_208;
$o_209 = new AttrSpec();
- $o_209->name = 'loop';
- $o_205->attrs[] = $o_209;
+ $o_209->name = 'controls';
+ $o_207->attrs[] = $o_209;
$o_210 = new AttrSpec();
- $o_210->name = 'muted';
- $o_205->attrs[] = $o_210;
+ $o_210->name = 'height';
+ $o_207->attrs[] = $o_210;
$o_211 = new AttrSpec();
- $o_211->name = 'poster';
- $o_205->attrs[] = $o_211;
+ $o_211->name = 'loop';
+ $o_207->attrs[] = $o_211;
$o_212 = new AttrSpec();
- $o_212->name = 'preload';
- $o_205->attrs[] = $o_212;
+ $o_212->name = 'muted';
+ $o_207->attrs[] = $o_212;
$o_213 = new AttrSpec();
- $o_213->name = 'src';
- $o_214 = new UrlSpec();
- $o_214->allowed_protocol = ['data', 'https'];
- $o_214->allow_relative = false;
- $o_213->value_url = $o_214;
- $o_205->attrs[] = $o_213;
+ $o_213->name = 'poster';
+ $o_207->attrs[] = $o_213;
+ $o_214 = new AttrSpec();
+ $o_214->name = 'preload';
+ $o_207->attrs[] = $o_214;
$o_215 = new AttrSpec();
- $o_215->name = 'width';
- $o_205->attrs[] = $o_215;
- $o_205->spec_url = 'https://www.ampproject.org/docs/reference/amp-video.html';
- $o_205->mandatory_ancestor = 'noscript';
- $o_205->mandatory_ancestor_suggested_alternative = 'amp-video';
- $o_0->tags[] = $o_205;
- $o_216 = new TagSpec();
- $o_216->tag_name = 'audio';
+ $o_215->name = 'src';
+ $o_216 = new UrlSpec();
+ $o_216->allowed_protocol = ['data', 'https'];
+ $o_216->allow_relative = false;
+ $o_215->value_url = $o_216;
+ $o_207->attrs[] = $o_215;
$o_217 = new AttrSpec();
- $o_217->name = 'autoplay';
- $o_216->attrs[] = $o_217;
- $o_218 = new AttrSpec();
- $o_218->name = 'controls';
- $o_216->attrs[] = $o_218;
+ $o_217->name = 'width';
+ $o_207->attrs[] = $o_217;
+ $o_207->spec_url = 'https://www.ampproject.org/docs/reference/amp-video.html';
+ $o_207->mandatory_ancestor = 'noscript';
+ $o_207->mandatory_ancestor_suggested_alternative = 'amp-video';
+ $o_0->tags[] = $o_207;
+ $o_218 = new TagSpec();
+ $o_218->tag_name = 'audio';
$o_219 = new AttrSpec();
- $o_219->name = 'loop';
- $o_216->attrs[] = $o_219;
+ $o_219->name = 'autoplay';
+ $o_218->attrs[] = $o_219;
$o_220 = new AttrSpec();
- $o_220->name = 'muted';
- $o_216->attrs[] = $o_220;
+ $o_220->name = 'controls';
+ $o_218->attrs[] = $o_220;
$o_221 = new AttrSpec();
- $o_221->name = 'preload';
- $o_216->attrs[] = $o_221;
+ $o_221->name = 'loop';
+ $o_218->attrs[] = $o_221;
$o_222 = new AttrSpec();
- $o_222->name = 'src';
- $o_223 = new UrlSpec();
- $o_223->allowed_protocol = ['data', 'https'];
- $o_223->allow_relative = false;
- $o_222->value_url = $o_223;
- $o_216->attrs[] = $o_222;
- $o_216->spec_url = 'https://www.ampproject.org/docs/reference/extended/amp-audio.html';
- $o_216->mandatory_ancestor = 'noscript';
- $o_216->mandatory_ancestor_suggested_alternative = 'amp-audio';
- $o_0->tags[] = $o_216;
- $o_224 = new TagSpec();
- $o_224->tag_name = 'source';
- $o_224->spec_name = 'amp-video > source';
- $o_224->mandatory_parent = 'amp-video';
- $o_225 = new AttrSpec();
- $o_225->name = 'src';
- $o_226 = new UrlSpec();
- $o_226->allowed_protocol = ['https'];
- $o_226->allow_relative = true;
- $o_225->value_url = $o_226;
- $o_224->attrs[] = $o_225;
+ $o_222->name = 'muted';
+ $o_218->attrs[] = $o_222;
+ $o_223 = new AttrSpec();
+ $o_223->name = 'preload';
+ $o_218->attrs[] = $o_223;
+ $o_224 = new AttrSpec();
+ $o_224->name = 'src';
+ $o_225 = new UrlSpec();
+ $o_225->allowed_protocol = ['data', 'https'];
+ $o_225->allow_relative = false;
+ $o_224->value_url = $o_225;
+ $o_218->attrs[] = $o_224;
+ $o_218->spec_url = 'https://www.ampproject.org/docs/reference/extended/amp-audio.html';
+ $o_218->mandatory_ancestor = 'noscript';
+ $o_218->mandatory_ancestor_suggested_alternative = 'amp-audio';
+ $o_0->tags[] = $o_218;
+ $o_226 = new TagSpec();
+ $o_226->tag_name = 'source';
+ $o_226->spec_name = 'amp-video > source';
+ $o_226->mandatory_parent = 'amp-video';
$o_227 = new AttrSpec();
- $o_227->name = 'media';
- $o_224->attrs[] = $o_227;
- $o_228 = new AttrSpec();
- $o_228->name = 'type';
- $o_224->attrs[] = $o_228;
- $o_224->spec_url = 'https://www.ampproject.org/docs/reference/amp-video.html';
- $o_0->tags[] = $o_224;
- $o_229 = new TagSpec();
- $o_229->tag_name = 'source';
- $o_229->spec_name = 'amp-audio > source';
- $o_229->mandatory_parent = 'amp-audio';
+ $o_227->name = 'src';
+ $o_228 = new UrlSpec();
+ $o_228->allowed_protocol = ['https'];
+ $o_228->allow_relative = true;
+ $o_227->value_url = $o_228;
+ $o_226->attrs[] = $o_227;
+ $o_229 = new AttrSpec();
+ $o_229->name = 'media';
+ $o_226->attrs[] = $o_229;
$o_230 = new AttrSpec();
- $o_230->name = 'src';
- $o_231 = new UrlSpec();
- $o_231->allowed_protocol = ['https'];
- $o_231->allow_relative = true;
- $o_230->value_url = $o_231;
- $o_229->attrs[] = $o_230;
+ $o_230->name = 'type';
+ $o_226->attrs[] = $o_230;
+ $o_226->spec_url = 'https://www.ampproject.org/docs/reference/amp-video.html';
+ $o_0->tags[] = $o_226;
+ $o_231 = new TagSpec();
+ $o_231->tag_name = 'source';
+ $o_231->spec_name = 'amp-audio > source';
+ $o_231->mandatory_parent = 'amp-audio';
$o_232 = new AttrSpec();
- $o_232->name = 'media';
- $o_229->attrs[] = $o_232;
- $o_233 = new AttrSpec();
- $o_233->name = 'type';
- $o_229->attrs[] = $o_233;
- $o_229->spec_url = 'https://www.ampproject.org/docs/reference/extended/amp-audio.html';
- $o_0->tags[] = $o_229;
- $o_234 = new TagSpec();
- $o_234->tag_name = 'source';
- $o_234->spec_name = 'audio > source';
- $o_234->mandatory_parent = 'audio';
+ $o_232->name = 'src';
+ $o_233 = new UrlSpec();
+ $o_233->allowed_protocol = ['https'];
+ $o_233->allow_relative = true;
+ $o_232->value_url = $o_233;
+ $o_231->attrs[] = $o_232;
+ $o_234 = new AttrSpec();
+ $o_234->name = 'media';
+ $o_231->attrs[] = $o_234;
$o_235 = new AttrSpec();
- $o_235->name = 'src';
- $o_235->mandatory = true;
- $o_236 = new UrlSpec();
- $o_236->allowed_protocol = ['https'];
- $o_236->allow_relative = true;
- $o_235->value_url = $o_236;
- $o_234->attrs[] = $o_235;
+ $o_235->name = 'type';
+ $o_231->attrs[] = $o_235;
+ $o_231->spec_url = 'https://www.ampproject.org/docs/reference/extended/amp-audio.html';
+ $o_0->tags[] = $o_231;
+ $o_236 = new TagSpec();
+ $o_236->tag_name = 'source';
+ $o_236->spec_name = 'audio > source';
+ $o_236->mandatory_parent = 'audio';
$o_237 = new AttrSpec();
- $o_237->name = 'type';
+ $o_237->name = 'src';
$o_237->mandatory = true;
- $o_234->attrs[] = $o_237;
- $o_238 = new AttrSpec();
- $o_238->name = 'media';
- $o_234->attrs[] = $o_238;
- $o_0->tags[] = $o_234;
- $o_239 = new TagSpec();
- $o_239->tag_name = 'source';
- $o_239->spec_name = 'video > source';
- $o_239->mandatory_parent = 'video';
+ $o_238 = new UrlSpec();
+ $o_238->allowed_protocol = ['https'];
+ $o_238->allow_relative = true;
+ $o_237->value_url = $o_238;
+ $o_236->attrs[] = $o_237;
+ $o_239 = new AttrSpec();
+ $o_239->name = 'type';
+ $o_239->mandatory = true;
+ $o_236->attrs[] = $o_239;
$o_240 = new AttrSpec();
- $o_240->name = 'src';
- $o_240->mandatory = true;
- $o_241 = new UrlSpec();
- $o_241->allowed_protocol = ['https'];
- $o_241->allow_relative = true;
- $o_240->value_url = $o_241;
- $o_239->attrs[] = $o_240;
+ $o_240->name = 'media';
+ $o_236->attrs[] = $o_240;
+ $o_0->tags[] = $o_236;
+ $o_241 = new TagSpec();
+ $o_241->tag_name = 'source';
+ $o_241->spec_name = 'video > source';
+ $o_241->mandatory_parent = 'video';
$o_242 = new AttrSpec();
- $o_242->name = 'type';
+ $o_242->name = 'src';
$o_242->mandatory = true;
- $o_239->attrs[] = $o_242;
- $o_243 = new AttrSpec();
- $o_243->name = 'media';
- $o_239->attrs[] = $o_243;
- $o_0->tags[] = $o_239;
- $o_244 = new TagSpec();
- $o_244->tag_name = 'track';
- $o_244->spec_name = 'audio > track';
- $o_244->mandatory_parent = 'audio';
- $o_244->attr_lists = ['track-attrs-no-subtitles'];
- $o_0->tags[] = $o_244;
- $o_245 = new TagSpec();
- $o_245->tag_name = 'track';
- $o_245->spec_name = 'audio > track[kind=subtitles]';
- $o_245->mandatory_parent = 'audio';
- $o_245->attr_lists = ['track-attrs-subtitles'];
- $o_0->tags[] = $o_245;
+ $o_243 = new UrlSpec();
+ $o_243->allowed_protocol = ['https'];
+ $o_243->allow_relative = true;
+ $o_242->value_url = $o_243;
+ $o_241->attrs[] = $o_242;
+ $o_244 = new AttrSpec();
+ $o_244->name = 'type';
+ $o_244->mandatory = true;
+ $o_241->attrs[] = $o_244;
+ $o_245 = new AttrSpec();
+ $o_245->name = 'media';
+ $o_241->attrs[] = $o_245;
+ $o_0->tags[] = $o_241;
$o_246 = new TagSpec();
$o_246->tag_name = 'track';
- $o_246->spec_name = 'video > track';
- $o_246->mandatory_parent = 'video';
+ $o_246->spec_name = 'audio > track';
+ $o_246->mandatory_parent = 'audio';
$o_246->attr_lists = ['track-attrs-no-subtitles'];
$o_0->tags[] = $o_246;
$o_247 = new TagSpec();
$o_247->tag_name = 'track';
- $o_247->spec_name = 'video > track[kind=subtitles]';
- $o_247->mandatory_parent = 'video';
+ $o_247->spec_name = 'audio > track[kind=subtitles]';
+ $o_247->mandatory_parent = 'audio';
$o_247->attr_lists = ['track-attrs-subtitles'];
$o_0->tags[] = $o_247;
$o_248 = new TagSpec();
$o_248->tag_name = 'track';
- $o_248->spec_name = 'amp-audio > track';
- $o_248->mandatory_parent = 'amp-audio';
+ $o_248->spec_name = 'video > track';
+ $o_248->mandatory_parent = 'video';
$o_248->attr_lists = ['track-attrs-no-subtitles'];
$o_0->tags[] = $o_248;
$o_249 = new TagSpec();
$o_249->tag_name = 'track';
- $o_249->spec_name = 'amp-audio > track[kind=subtitles]';
- $o_249->mandatory_parent = 'amp-audio';
+ $o_249->spec_name = 'video > track[kind=subtitles]';
+ $o_249->mandatory_parent = 'video';
$o_249->attr_lists = ['track-attrs-subtitles'];
$o_0->tags[] = $o_249;
$o_250 = new TagSpec();
$o_250->tag_name = 'track';
- $o_250->spec_name = 'amp-video > track';
- $o_250->mandatory_parent = 'amp-video';
+ $o_250->spec_name = 'amp-audio > track';
+ $o_250->mandatory_parent = 'amp-audio';
$o_250->attr_lists = ['track-attrs-no-subtitles'];
$o_0->tags[] = $o_250;
$o_251 = new TagSpec();
$o_251->tag_name = 'track';
- $o_251->spec_name = 'amp-video > track[kind=subtitles]';
- $o_251->mandatory_parent = 'amp-video';
+ $o_251->spec_name = 'amp-audio > track[kind=subtitles]';
+ $o_251->mandatory_parent = 'amp-audio';
$o_251->attr_lists = ['track-attrs-subtitles'];
$o_0->tags[] = $o_251;
$o_252 = new TagSpec();
- $o_252->tag_name = 'g';
- $o_253 = new AttrSpec();
- $o_253->name = 'class';
- $o_252->attrs[] = $o_253;
- $o_254 = new AttrSpec();
- $o_254->name = 'externalresourcesrequired';
- $o_252->attrs[] = $o_254;
- $o_255 = new AttrSpec();
- $o_255->name = 'transform';
- $o_252->attrs[] = $o_255;
- $o_252->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_252->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_252->mandatory_ancestor = 'svg';
+ $o_252->tag_name = 'track';
+ $o_252->spec_name = 'amp-video > track';
+ $o_252->mandatory_parent = 'amp-video';
+ $o_252->attr_lists = ['track-attrs-no-subtitles'];
$o_0->tags[] = $o_252;
- $o_256 = new TagSpec();
- $o_256->tag_name = 'glyph';
+ $o_253 = new TagSpec();
+ $o_253->tag_name = 'track';
+ $o_253->spec_name = 'amp-video > track[kind=subtitles]';
+ $o_253->mandatory_parent = 'amp-video';
+ $o_253->attr_lists = ['track-attrs-subtitles'];
+ $o_0->tags[] = $o_253;
+ $o_254 = new TagSpec();
+ $o_254->tag_name = 'g';
+ $o_255 = new AttrSpec();
+ $o_255->name = 'class';
+ $o_254->attrs[] = $o_255;
+ $o_256 = new AttrSpec();
+ $o_256->name = 'externalresourcesrequired';
+ $o_254->attrs[] = $o_256;
$o_257 = new AttrSpec();
- $o_257->name = 'arabic-form';
- $o_256->attrs[] = $o_257;
- $o_258 = new AttrSpec();
- $o_258->name = 'class';
- $o_256->attrs[] = $o_258;
+ $o_257->name = 'transform';
+ $o_254->attrs[] = $o_257;
+ $o_254->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_254->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_254->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_254;
+ $o_258 = new TagSpec();
+ $o_258->tag_name = 'glyph';
$o_259 = new AttrSpec();
- $o_259->name = 'd';
- $o_256->attrs[] = $o_259;
+ $o_259->name = 'arabic-form';
+ $o_258->attrs[] = $o_259;
$o_260 = new AttrSpec();
- $o_260->name = 'glyph-name';
- $o_256->attrs[] = $o_260;
+ $o_260->name = 'class';
+ $o_258->attrs[] = $o_260;
$o_261 = new AttrSpec();
- $o_261->name = 'horiz-adv-x';
- $o_256->attrs[] = $o_261;
+ $o_261->name = 'd';
+ $o_258->attrs[] = $o_261;
$o_262 = new AttrSpec();
- $o_262->name = 'orientation';
- $o_256->attrs[] = $o_262;
+ $o_262->name = 'glyph-name';
+ $o_258->attrs[] = $o_262;
$o_263 = new AttrSpec();
- $o_263->name = 'unicode';
- $o_256->attrs[] = $o_263;
+ $o_263->name = 'horiz-adv-x';
+ $o_258->attrs[] = $o_263;
$o_264 = new AttrSpec();
- $o_264->name = 'vert-origin-x';
- $o_256->attrs[] = $o_264;
+ $o_264->name = 'orientation';
+ $o_258->attrs[] = $o_264;
$o_265 = new AttrSpec();
- $o_265->name = 'vert-origin-y';
- $o_256->attrs[] = $o_265;
+ $o_265->name = 'unicode';
+ $o_258->attrs[] = $o_265;
$o_266 = new AttrSpec();
- $o_266->name = 'vert-adv-y';
- $o_256->attrs[] = $o_266;
- $o_256->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes'];
- $o_256->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_256->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_256;
- $o_267 = new TagSpec();
- $o_267->tag_name = 'glyphref';
+ $o_266->name = 'vert-origin-x';
+ $o_258->attrs[] = $o_266;
+ $o_267 = new AttrSpec();
+ $o_267->name = 'vert-origin-y';
+ $o_258->attrs[] = $o_267;
$o_268 = new AttrSpec();
- $o_268->name = 'class';
- $o_267->attrs[] = $o_268;
- $o_269 = new AttrSpec();
- $o_269->name = 'dx';
- $o_267->attrs[] = $o_269;
+ $o_268->name = 'vert-adv-y';
+ $o_258->attrs[] = $o_268;
+ $o_258->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes'];
+ $o_258->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_258->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_258;
+ $o_269 = new TagSpec();
+ $o_269->tag_name = 'glyphref';
$o_270 = new AttrSpec();
- $o_270->name = 'dy';
- $o_267->attrs[] = $o_270;
+ $o_270->name = 'class';
+ $o_269->attrs[] = $o_270;
$o_271 = new AttrSpec();
- $o_271->name = 'format';
- $o_267->attrs[] = $o_271;
+ $o_271->name = 'dx';
+ $o_269->attrs[] = $o_271;
$o_272 = new AttrSpec();
- $o_272->name = 'glyphref';
- $o_267->attrs[] = $o_272;
+ $o_272->name = 'dy';
+ $o_269->attrs[] = $o_272;
$o_273 = new AttrSpec();
- $o_273->name = 'x';
- $o_267->attrs[] = $o_273;
+ $o_273->name = 'format';
+ $o_269->attrs[] = $o_273;
$o_274 = new AttrSpec();
- $o_274->name = 'y';
- $o_267->attrs[] = $o_274;
- $o_267->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
- $o_267->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_267->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_267;
- $o_275 = new TagSpec();
- $o_275->tag_name = 'marker';
+ $o_274->name = 'glyphref';
+ $o_269->attrs[] = $o_274;
+ $o_275 = new AttrSpec();
+ $o_275->name = 'x';
+ $o_269->attrs[] = $o_275;
$o_276 = new AttrSpec();
- $o_276->name = 'class';
- $o_275->attrs[] = $o_276;
- $o_277 = new AttrSpec();
- $o_277->name = 'externalresourcesrequired';
- $o_275->attrs[] = $o_277;
+ $o_276->name = 'y';
+ $o_269->attrs[] = $o_276;
+ $o_269->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
+ $o_269->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_269->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_269;
+ $o_277 = new TagSpec();
+ $o_277->tag_name = 'marker';
$o_278 = new AttrSpec();
- $o_278->name = 'markerunits';
- $o_275->attrs[] = $o_278;
+ $o_278->name = 'class';
+ $o_277->attrs[] = $o_278;
$o_279 = new AttrSpec();
- $o_279->name = 'markerwidth';
- $o_275->attrs[] = $o_279;
+ $o_279->name = 'externalresourcesrequired';
+ $o_277->attrs[] = $o_279;
$o_280 = new AttrSpec();
- $o_280->name = 'markerheight';
- $o_275->attrs[] = $o_280;
+ $o_280->name = 'markerunits';
+ $o_277->attrs[] = $o_280;
$o_281 = new AttrSpec();
- $o_281->name = 'orient';
- $o_275->attrs[] = $o_281;
+ $o_281->name = 'markerwidth';
+ $o_277->attrs[] = $o_281;
$o_282 = new AttrSpec();
- $o_282->name = 'preserveaspectratio';
- $o_275->attrs[] = $o_282;
+ $o_282->name = 'markerheight';
+ $o_277->attrs[] = $o_282;
$o_283 = new AttrSpec();
- $o_283->name = 'refx';
- $o_275->attrs[] = $o_283;
+ $o_283->name = 'orient';
+ $o_277->attrs[] = $o_283;
$o_284 = new AttrSpec();
- $o_284->name = 'refy';
- $o_275->attrs[] = $o_284;
+ $o_284->name = 'preserveaspectratio';
+ $o_277->attrs[] = $o_284;
$o_285 = new AttrSpec();
- $o_285->name = 'transform';
- $o_275->attrs[] = $o_285;
+ $o_285->name = 'refx';
+ $o_277->attrs[] = $o_285;
$o_286 = new AttrSpec();
- $o_286->name = 'viewbox';
- $o_275->attrs[] = $o_286;
- $o_275->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes'];
- $o_275->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_275->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_275;
- $o_287 = new TagSpec();
- $o_287->tag_name = 'path';
+ $o_286->name = 'refy';
+ $o_277->attrs[] = $o_286;
+ $o_287 = new AttrSpec();
+ $o_287->name = 'transform';
+ $o_277->attrs[] = $o_287;
$o_288 = new AttrSpec();
- $o_288->name = 'class';
- $o_287->attrs[] = $o_288;
- $o_289 = new AttrSpec();
- $o_289->name = 'd';
- $o_287->attrs[] = $o_289;
+ $o_288->name = 'viewbox';
+ $o_277->attrs[] = $o_288;
+ $o_277->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes'];
+ $o_277->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_277->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_277;
+ $o_289 = new TagSpec();
+ $o_289->tag_name = 'path';
$o_290 = new AttrSpec();
- $o_290->name = 'externalresourcesrequired';
- $o_287->attrs[] = $o_290;
+ $o_290->name = 'class';
+ $o_289->attrs[] = $o_290;
$o_291 = new AttrSpec();
- $o_291->name = 'pathlength';
- $o_287->attrs[] = $o_291;
+ $o_291->name = 'd';
+ $o_289->attrs[] = $o_291;
$o_292 = new AttrSpec();
- $o_292->name = 'sketch:type';
- $o_287->attrs[] = $o_292;
+ $o_292->name = 'externalresourcesrequired';
+ $o_289->attrs[] = $o_292;
$o_293 = new AttrSpec();
- $o_293->name = 'transform';
- $o_287->attrs[] = $o_293;
- $o_287->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_287->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_287->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_287;
- $o_294 = new TagSpec();
- $o_294->tag_name = 'svg';
+ $o_293->name = 'pathlength';
+ $o_289->attrs[] = $o_293;
+ $o_294 = new AttrSpec();
+ $o_294->name = 'sketch:type';
+ $o_289->attrs[] = $o_294;
$o_295 = new AttrSpec();
- $o_295->name = 'class';
- $o_294->attrs[] = $o_295;
- $o_296 = new AttrSpec();
- $o_296->name = 'contentscripttype';
- $o_294->attrs[] = $o_296;
+ $o_295->name = 'transform';
+ $o_289->attrs[] = $o_295;
+ $o_289->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_289->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_289->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_289;
+ $o_296 = new TagSpec();
+ $o_296->tag_name = 'svg';
$o_297 = new AttrSpec();
- $o_297->name = 'contentstyletype';
- $o_294->attrs[] = $o_297;
+ $o_297->name = 'class';
+ $o_296->attrs[] = $o_297;
$o_298 = new AttrSpec();
- $o_298->name = 'externalresourcesrequired';
- $o_294->attrs[] = $o_298;
+ $o_298->name = 'contentscripttype';
+ $o_296->attrs[] = $o_298;
$o_299 = new AttrSpec();
- $o_299->name = 'height';
- $o_294->attrs[] = $o_299;
+ $o_299->name = 'contentstyletype';
+ $o_296->attrs[] = $o_299;
$o_300 = new AttrSpec();
- $o_300->name = 'preserveaspectratio';
- $o_294->attrs[] = $o_300;
+ $o_300->name = 'externalresourcesrequired';
+ $o_296->attrs[] = $o_300;
$o_301 = new AttrSpec();
- $o_301->name = 'version';
- $o_301->value_regex = '(1.0|1.1)';
- $o_294->attrs[] = $o_301;
+ $o_301->name = 'height';
+ $o_296->attrs[] = $o_301;
$o_302 = new AttrSpec();
- $o_302->name = 'viewbox';
- $o_294->attrs[] = $o_302;
+ $o_302->name = 'preserveaspectratio';
+ $o_296->attrs[] = $o_302;
$o_303 = new AttrSpec();
- $o_303->name = 'width';
- $o_294->attrs[] = $o_303;
+ $o_303->name = 'version';
+ $o_303->value_regex = '(1.0|1.1)';
+ $o_296->attrs[] = $o_303;
$o_304 = new AttrSpec();
- $o_304->name = 'x';
- $o_294->attrs[] = $o_304;
+ $o_304->name = 'viewbox';
+ $o_296->attrs[] = $o_304;
$o_305 = new AttrSpec();
- $o_305->name = 'y';
- $o_294->attrs[] = $o_305;
+ $o_305->name = 'width';
+ $o_296->attrs[] = $o_305;
$o_306 = new AttrSpec();
- $o_306->name = 'zoomandpan';
- $o_294->attrs[] = $o_306;
- $o_294->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_294->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_294->disallowed_ancestor = ['svg'];
- $o_0->tags[] = $o_294;
- $o_307 = new TagSpec();
- $o_307->tag_name = 'view';
+ $o_306->name = 'x';
+ $o_296->attrs[] = $o_306;
+ $o_307 = new AttrSpec();
+ $o_307->name = 'y';
+ $o_296->attrs[] = $o_307;
$o_308 = new AttrSpec();
- $o_308->name = 'externalresourcesrequired';
- $o_307->attrs[] = $o_308;
- $o_309 = new AttrSpec();
- $o_309->name = 'preserveaspectratio';
- $o_307->attrs[] = $o_309;
+ $o_308->name = 'zoomandpan';
+ $o_296->attrs[] = $o_308;
+ $o_296->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_296->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_296->disallowed_ancestor = ['svg'];
+ $o_0->tags[] = $o_296;
+ $o_309 = new TagSpec();
+ $o_309->tag_name = 'view';
$o_310 = new AttrSpec();
- $o_310->name = 'viewbox';
- $o_307->attrs[] = $o_310;
+ $o_310->name = 'externalresourcesrequired';
+ $o_309->attrs[] = $o_310;
$o_311 = new AttrSpec();
- $o_311->name = 'viewtarget';
- $o_307->attrs[] = $o_311;
+ $o_311->name = 'preserveaspectratio';
+ $o_309->attrs[] = $o_311;
$o_312 = new AttrSpec();
- $o_312->name = 'zoomandpan';
- $o_307->attrs[] = $o_312;
- $o_307->attr_lists = ['svg-core-attributes'];
- $o_307->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_307->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_307;
- $o_313 = new TagSpec();
- $o_313->tag_name = 'circle';
+ $o_312->name = 'viewbox';
+ $o_309->attrs[] = $o_312;
+ $o_313 = new AttrSpec();
+ $o_313->name = 'viewtarget';
+ $o_309->attrs[] = $o_313;
$o_314 = new AttrSpec();
- $o_314->name = 'class';
- $o_313->attrs[] = $o_314;
- $o_315 = new AttrSpec();
- $o_315->name = 'cx';
- $o_313->attrs[] = $o_315;
+ $o_314->name = 'zoomandpan';
+ $o_309->attrs[] = $o_314;
+ $o_309->attr_lists = ['svg-core-attributes'];
+ $o_309->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_309->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_309;
+ $o_315 = new TagSpec();
+ $o_315->tag_name = 'circle';
$o_316 = new AttrSpec();
- $o_316->name = 'cy';
- $o_313->attrs[] = $o_316;
+ $o_316->name = 'class';
+ $o_315->attrs[] = $o_316;
$o_317 = new AttrSpec();
- $o_317->name = 'externalresourcesrequired';
- $o_313->attrs[] = $o_317;
+ $o_317->name = 'cx';
+ $o_315->attrs[] = $o_317;
$o_318 = new AttrSpec();
- $o_318->name = 'r';
- $o_313->attrs[] = $o_318;
+ $o_318->name = 'cy';
+ $o_315->attrs[] = $o_318;
$o_319 = new AttrSpec();
- $o_319->name = 'sketch:type';
- $o_313->attrs[] = $o_319;
+ $o_319->name = 'externalresourcesrequired';
+ $o_315->attrs[] = $o_319;
$o_320 = new AttrSpec();
- $o_320->name = 'transform';
- $o_313->attrs[] = $o_320;
- $o_313->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_313->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_313->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_313;
- $o_321 = new TagSpec();
- $o_321->tag_name = 'line';
+ $o_320->name = 'r';
+ $o_315->attrs[] = $o_320;
+ $o_321 = new AttrSpec();
+ $o_321->name = 'sketch:type';
+ $o_315->attrs[] = $o_321;
$o_322 = new AttrSpec();
- $o_322->name = 'class';
- $o_321->attrs[] = $o_322;
- $o_323 = new AttrSpec();
- $o_323->name = 'externalresourcesrequired';
- $o_321->attrs[] = $o_323;
+ $o_322->name = 'transform';
+ $o_315->attrs[] = $o_322;
+ $o_315->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_315->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_315->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_315;
+ $o_323 = new TagSpec();
+ $o_323->tag_name = 'line';
$o_324 = new AttrSpec();
- $o_324->name = 'sketch:type';
- $o_321->attrs[] = $o_324;
+ $o_324->name = 'class';
+ $o_323->attrs[] = $o_324;
$o_325 = new AttrSpec();
- $o_325->name = 'transform';
- $o_321->attrs[] = $o_325;
+ $o_325->name = 'externalresourcesrequired';
+ $o_323->attrs[] = $o_325;
$o_326 = new AttrSpec();
- $o_326->name = 'x1';
- $o_321->attrs[] = $o_326;
+ $o_326->name = 'sketch:type';
+ $o_323->attrs[] = $o_326;
$o_327 = new AttrSpec();
- $o_327->name = 'x2';
- $o_321->attrs[] = $o_327;
+ $o_327->name = 'transform';
+ $o_323->attrs[] = $o_327;
$o_328 = new AttrSpec();
- $o_328->name = 'y1';
- $o_321->attrs[] = $o_328;
+ $o_328->name = 'x1';
+ $o_323->attrs[] = $o_328;
$o_329 = new AttrSpec();
- $o_329->name = 'y2';
- $o_321->attrs[] = $o_329;
- $o_321->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_321->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_321->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_321;
- $o_330 = new TagSpec();
- $o_330->tag_name = 'polygon';
+ $o_329->name = 'x2';
+ $o_323->attrs[] = $o_329;
+ $o_330 = new AttrSpec();
+ $o_330->name = 'y1';
+ $o_323->attrs[] = $o_330;
$o_331 = new AttrSpec();
- $o_331->name = 'class';
- $o_330->attrs[] = $o_331;
- $o_332 = new AttrSpec();
- $o_332->name = 'externalresourcesrequired';
- $o_330->attrs[] = $o_332;
+ $o_331->name = 'y2';
+ $o_323->attrs[] = $o_331;
+ $o_323->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_323->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_323->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_323;
+ $o_332 = new TagSpec();
+ $o_332->tag_name = 'polygon';
$o_333 = new AttrSpec();
- $o_333->name = 'points';
- $o_330->attrs[] = $o_333;
+ $o_333->name = 'class';
+ $o_332->attrs[] = $o_333;
$o_334 = new AttrSpec();
- $o_334->name = 'sketch:type';
- $o_330->attrs[] = $o_334;
+ $o_334->name = 'externalresourcesrequired';
+ $o_332->attrs[] = $o_334;
$o_335 = new AttrSpec();
- $o_335->name = 'transform';
- $o_330->attrs[] = $o_335;
- $o_330->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_330->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_330->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_330;
- $o_336 = new TagSpec();
- $o_336->tag_name = 'polyline';
+ $o_335->name = 'points';
+ $o_332->attrs[] = $o_335;
+ $o_336 = new AttrSpec();
+ $o_336->name = 'sketch:type';
+ $o_332->attrs[] = $o_336;
$o_337 = new AttrSpec();
- $o_337->name = 'class';
- $o_336->attrs[] = $o_337;
- $o_338 = new AttrSpec();
- $o_338->name = 'externalresourcesrequired';
- $o_336->attrs[] = $o_338;
+ $o_337->name = 'transform';
+ $o_332->attrs[] = $o_337;
+ $o_332->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_332->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_332->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_332;
+ $o_338 = new TagSpec();
+ $o_338->tag_name = 'polyline';
$o_339 = new AttrSpec();
- $o_339->name = 'points';
- $o_336->attrs[] = $o_339;
+ $o_339->name = 'class';
+ $o_338->attrs[] = $o_339;
$o_340 = new AttrSpec();
- $o_340->name = 'sketch:type';
- $o_336->attrs[] = $o_340;
+ $o_340->name = 'externalresourcesrequired';
+ $o_338->attrs[] = $o_340;
$o_341 = new AttrSpec();
- $o_341->name = 'transform';
- $o_336->attrs[] = $o_341;
- $o_336->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_336->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_336->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_336;
- $o_342 = new TagSpec();
- $o_342->tag_name = 'rect';
+ $o_341->name = 'points';
+ $o_338->attrs[] = $o_341;
+ $o_342 = new AttrSpec();
+ $o_342->name = 'sketch:type';
+ $o_338->attrs[] = $o_342;
$o_343 = new AttrSpec();
- $o_343->name = 'class';
- $o_342->attrs[] = $o_343;
- $o_344 = new AttrSpec();
- $o_344->name = 'externalresourcesrequired';
- $o_342->attrs[] = $o_344;
+ $o_343->name = 'transform';
+ $o_338->attrs[] = $o_343;
+ $o_338->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_338->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_338->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_338;
+ $o_344 = new TagSpec();
+ $o_344->tag_name = 'rect';
$o_345 = new AttrSpec();
- $o_345->name = 'height';
- $o_342->attrs[] = $o_345;
+ $o_345->name = 'class';
+ $o_344->attrs[] = $o_345;
$o_346 = new AttrSpec();
- $o_346->name = 'rx';
- $o_342->attrs[] = $o_346;
+ $o_346->name = 'externalresourcesrequired';
+ $o_344->attrs[] = $o_346;
$o_347 = new AttrSpec();
- $o_347->name = 'ry';
- $o_342->attrs[] = $o_347;
+ $o_347->name = 'height';
+ $o_344->attrs[] = $o_347;
$o_348 = new AttrSpec();
- $o_348->name = 'sketch:type';
- $o_342->attrs[] = $o_348;
+ $o_348->name = 'rx';
+ $o_344->attrs[] = $o_348;
$o_349 = new AttrSpec();
- $o_349->name = 'transform';
- $o_342->attrs[] = $o_349;
+ $o_349->name = 'ry';
+ $o_344->attrs[] = $o_349;
$o_350 = new AttrSpec();
- $o_350->name = 'width';
- $o_342->attrs[] = $o_350;
+ $o_350->name = 'sketch:type';
+ $o_344->attrs[] = $o_350;
$o_351 = new AttrSpec();
- $o_351->name = 'x';
- $o_342->attrs[] = $o_351;
+ $o_351->name = 'transform';
+ $o_344->attrs[] = $o_351;
$o_352 = new AttrSpec();
- $o_352->name = 'y';
- $o_342->attrs[] = $o_352;
- $o_342->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_342->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_342->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_342;
- $o_353 = new TagSpec();
- $o_353->tag_name = 'text';
+ $o_352->name = 'width';
+ $o_344->attrs[] = $o_352;
+ $o_353 = new AttrSpec();
+ $o_353->name = 'x';
+ $o_344->attrs[] = $o_353;
$o_354 = new AttrSpec();
- $o_354->name = 'class';
- $o_353->attrs[] = $o_354;
- $o_355 = new AttrSpec();
- $o_355->name = 'dx';
- $o_353->attrs[] = $o_355;
+ $o_354->name = 'y';
+ $o_344->attrs[] = $o_354;
+ $o_344->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_344->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_344->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_344;
+ $o_355 = new TagSpec();
+ $o_355->tag_name = 'text';
$o_356 = new AttrSpec();
- $o_356->name = 'dy';
- $o_353->attrs[] = $o_356;
+ $o_356->name = 'class';
+ $o_355->attrs[] = $o_356;
$o_357 = new AttrSpec();
- $o_357->name = 'externalresourcesrequired';
- $o_353->attrs[] = $o_357;
+ $o_357->name = 'dx';
+ $o_355->attrs[] = $o_357;
$o_358 = new AttrSpec();
- $o_358->name = 'lengthadjust';
- $o_353->attrs[] = $o_358;
+ $o_358->name = 'dy';
+ $o_355->attrs[] = $o_358;
$o_359 = new AttrSpec();
- $o_359->name = 'rotate';
- $o_353->attrs[] = $o_359;
+ $o_359->name = 'externalresourcesrequired';
+ $o_355->attrs[] = $o_359;
$o_360 = new AttrSpec();
- $o_360->name = 'text-anchor';
- $o_353->attrs[] = $o_360;
+ $o_360->name = 'lengthadjust';
+ $o_355->attrs[] = $o_360;
$o_361 = new AttrSpec();
- $o_361->name = 'textlength';
- $o_353->attrs[] = $o_361;
+ $o_361->name = 'rotate';
+ $o_355->attrs[] = $o_361;
$o_362 = new AttrSpec();
- $o_362->name = 'transform';
- $o_353->attrs[] = $o_362;
+ $o_362->name = 'text-anchor';
+ $o_355->attrs[] = $o_362;
$o_363 = new AttrSpec();
- $o_363->name = 'x';
- $o_353->attrs[] = $o_363;
+ $o_363->name = 'textlength';
+ $o_355->attrs[] = $o_363;
$o_364 = new AttrSpec();
- $o_364->name = 'y';
- $o_353->attrs[] = $o_364;
- $o_353->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_353->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_353->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_353;
- $o_365 = new TagSpec();
- $o_365->tag_name = 'textpath';
+ $o_364->name = 'transform';
+ $o_355->attrs[] = $o_364;
+ $o_365 = new AttrSpec();
+ $o_365->name = 'x';
+ $o_355->attrs[] = $o_365;
$o_366 = new AttrSpec();
- $o_366->name = 'class';
- $o_365->attrs[] = $o_366;
- $o_367 = new AttrSpec();
- $o_367->name = 'externalresourcesrequired';
- $o_365->attrs[] = $o_367;
+ $o_366->name = 'y';
+ $o_355->attrs[] = $o_366;
+ $o_355->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_355->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_355->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_355;
+ $o_367 = new TagSpec();
+ $o_367->tag_name = 'textpath';
$o_368 = new AttrSpec();
- $o_368->name = 'method';
- $o_365->attrs[] = $o_368;
+ $o_368->name = 'class';
+ $o_367->attrs[] = $o_368;
$o_369 = new AttrSpec();
- $o_369->name = 'spacing';
- $o_365->attrs[] = $o_369;
+ $o_369->name = 'externalresourcesrequired';
+ $o_367->attrs[] = $o_369;
$o_370 = new AttrSpec();
- $o_370->name = 'startoffset';
- $o_365->attrs[] = $o_370;
- $o_365->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
- $o_365->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_365->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_365;
- $o_371 = new TagSpec();
- $o_371->tag_name = 'tref';
+ $o_370->name = 'method';
+ $o_367->attrs[] = $o_370;
+ $o_371 = new AttrSpec();
+ $o_371->name = 'spacing';
+ $o_367->attrs[] = $o_371;
$o_372 = new AttrSpec();
- $o_372->name = 'class';
- $o_371->attrs[] = $o_372;
- $o_373 = new AttrSpec();
- $o_373->name = 'externalresourcesrequired';
- $o_371->attrs[] = $o_373;
- $o_371->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
- $o_371->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_371->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_371;
- $o_374 = new TagSpec();
- $o_374->tag_name = 'tspan';
+ $o_372->name = 'startoffset';
+ $o_367->attrs[] = $o_372;
+ $o_367->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
+ $o_367->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_367->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_367;
+ $o_373 = new TagSpec();
+ $o_373->tag_name = 'tref';
+ $o_374 = new AttrSpec();
+ $o_374->name = 'class';
+ $o_373->attrs[] = $o_374;
$o_375 = new AttrSpec();
- $o_375->name = 'class';
- $o_374->attrs[] = $o_375;
- $o_376 = new AttrSpec();
- $o_376->name = 'dx';
- $o_374->attrs[] = $o_376;
+ $o_375->name = 'externalresourcesrequired';
+ $o_373->attrs[] = $o_375;
+ $o_373->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
+ $o_373->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_373->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_373;
+ $o_376 = new TagSpec();
+ $o_376->tag_name = 'tspan';
$o_377 = new AttrSpec();
- $o_377->name = 'dy';
- $o_374->attrs[] = $o_377;
+ $o_377->name = 'class';
+ $o_376->attrs[] = $o_377;
$o_378 = new AttrSpec();
- $o_378->name = 'externalresourcesrequired';
- $o_374->attrs[] = $o_378;
+ $o_378->name = 'dx';
+ $o_376->attrs[] = $o_378;
$o_379 = new AttrSpec();
- $o_379->name = 'rotate';
- $o_374->attrs[] = $o_379;
+ $o_379->name = 'dy';
+ $o_376->attrs[] = $o_379;
$o_380 = new AttrSpec();
- $o_380->name = 'lengthadjust';
- $o_374->attrs[] = $o_380;
+ $o_380->name = 'externalresourcesrequired';
+ $o_376->attrs[] = $o_380;
$o_381 = new AttrSpec();
- $o_381->name = 'textlength';
- $o_374->attrs[] = $o_381;
+ $o_381->name = 'rotate';
+ $o_376->attrs[] = $o_381;
$o_382 = new AttrSpec();
- $o_382->name = 'x';
- $o_374->attrs[] = $o_382;
+ $o_382->name = 'lengthadjust';
+ $o_376->attrs[] = $o_382;
$o_383 = new AttrSpec();
- $o_383->name = 'y';
- $o_374->attrs[] = $o_383;
- $o_374->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_374->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_374->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_374;
- $o_384 = new TagSpec();
- $o_384->tag_name = 'clippath';
+ $o_383->name = 'textlength';
+ $o_376->attrs[] = $o_383;
+ $o_384 = new AttrSpec();
+ $o_384->name = 'x';
+ $o_376->attrs[] = $o_384;
$o_385 = new AttrSpec();
- $o_385->name = 'class';
- $o_384->attrs[] = $o_385;
- $o_386 = new AttrSpec();
- $o_386->name = 'clippathunits';
- $o_384->attrs[] = $o_386;
+ $o_385->name = 'y';
+ $o_376->attrs[] = $o_385;
+ $o_376->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_376->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_376->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_376;
+ $o_386 = new TagSpec();
+ $o_386->tag_name = 'clippath';
$o_387 = new AttrSpec();
- $o_387->name = 'externalresourcesrequired';
- $o_384->attrs[] = $o_387;
+ $o_387->name = 'class';
+ $o_386->attrs[] = $o_387;
$o_388 = new AttrSpec();
- $o_388->name = 'transform';
- $o_384->attrs[] = $o_388;
- $o_384->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_384->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_384->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_384;
- $o_389 = new TagSpec();
- $o_389->tag_name = 'filter';
+ $o_388->name = 'clippathunits';
+ $o_386->attrs[] = $o_388;
+ $o_389 = new AttrSpec();
+ $o_389->name = 'externalresourcesrequired';
+ $o_386->attrs[] = $o_389;
$o_390 = new AttrSpec();
- $o_390->name = 'class';
- $o_389->attrs[] = $o_390;
- $o_391 = new AttrSpec();
- $o_391->name = 'externalresourcesrequired';
- $o_389->attrs[] = $o_391;
+ $o_390->name = 'transform';
+ $o_386->attrs[] = $o_390;
+ $o_386->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_386->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_386->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_386;
+ $o_391 = new TagSpec();
+ $o_391->tag_name = 'filter';
$o_392 = new AttrSpec();
- $o_392->name = 'filterres';
- $o_389->attrs[] = $o_392;
+ $o_392->name = 'class';
+ $o_391->attrs[] = $o_392;
$o_393 = new AttrSpec();
- $o_393->name = 'filterunits';
- $o_389->attrs[] = $o_393;
+ $o_393->name = 'externalresourcesrequired';
+ $o_391->attrs[] = $o_393;
$o_394 = new AttrSpec();
- $o_394->name = 'height';
- $o_389->attrs[] = $o_394;
+ $o_394->name = 'filterres';
+ $o_391->attrs[] = $o_394;
$o_395 = new AttrSpec();
- $o_395->name = 'primitiveunits';
- $o_389->attrs[] = $o_395;
+ $o_395->name = 'filterunits';
+ $o_391->attrs[] = $o_395;
$o_396 = new AttrSpec();
- $o_396->name = 'width';
- $o_389->attrs[] = $o_396;
+ $o_396->name = 'height';
+ $o_391->attrs[] = $o_396;
$o_397 = new AttrSpec();
- $o_397->name = 'x';
- $o_389->attrs[] = $o_397;
+ $o_397->name = 'primitiveunits';
+ $o_391->attrs[] = $o_397;
$o_398 = new AttrSpec();
- $o_398->name = 'y';
- $o_389->attrs[] = $o_398;
- $o_389->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
- $o_389->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_389->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_389;
- $o_399 = new TagSpec();
- $o_399->tag_name = 'hkern';
+ $o_398->name = 'width';
+ $o_391->attrs[] = $o_398;
+ $o_399 = new AttrSpec();
+ $o_399->name = 'x';
+ $o_391->attrs[] = $o_399;
$o_400 = new AttrSpec();
- $o_400->name = 'g1';
- $o_399->attrs[] = $o_400;
- $o_401 = new AttrSpec();
- $o_401->name = 'g2';
- $o_399->attrs[] = $o_401;
+ $o_400->name = 'y';
+ $o_391->attrs[] = $o_400;
+ $o_391->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
+ $o_391->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_391->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_391;
+ $o_401 = new TagSpec();
+ $o_401->tag_name = 'hkern';
$o_402 = new AttrSpec();
- $o_402->name = 'k';
- $o_399->attrs[] = $o_402;
+ $o_402->name = 'g1';
+ $o_401->attrs[] = $o_402;
$o_403 = new AttrSpec();
- $o_403->name = 'u1';
- $o_399->attrs[] = $o_403;
+ $o_403->name = 'g2';
+ $o_401->attrs[] = $o_403;
$o_404 = new AttrSpec();
- $o_404->name = 'u2';
- $o_399->attrs[] = $o_404;
- $o_399->attr_lists = ['svg-core-attributes'];
- $o_399->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_399->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_399;
- $o_405 = new TagSpec();
- $o_405->tag_name = 'lineargradient';
+ $o_404->name = 'k';
+ $o_401->attrs[] = $o_404;
+ $o_405 = new AttrSpec();
+ $o_405->name = 'u1';
+ $o_401->attrs[] = $o_405;
$o_406 = new AttrSpec();
- $o_406->name = 'class';
- $o_405->attrs[] = $o_406;
- $o_407 = new AttrSpec();
- $o_407->name = 'externalresourcesrequired';
- $o_405->attrs[] = $o_407;
+ $o_406->name = 'u2';
+ $o_401->attrs[] = $o_406;
+ $o_401->attr_lists = ['svg-core-attributes'];
+ $o_401->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_401->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_401;
+ $o_407 = new TagSpec();
+ $o_407->tag_name = 'lineargradient';
$o_408 = new AttrSpec();
- $o_408->name = 'gradientunits';
- $o_405->attrs[] = $o_408;
+ $o_408->name = 'class';
+ $o_407->attrs[] = $o_408;
$o_409 = new AttrSpec();
- $o_409->name = 'gradientransform';
- $o_405->attrs[] = $o_409;
+ $o_409->name = 'externalresourcesrequired';
+ $o_407->attrs[] = $o_409;
$o_410 = new AttrSpec();
- $o_410->name = 'spreadmethod';
- $o_405->attrs[] = $o_410;
+ $o_410->name = 'gradientunits';
+ $o_407->attrs[] = $o_410;
$o_411 = new AttrSpec();
- $o_411->name = 'x1';
- $o_405->attrs[] = $o_411;
+ $o_411->name = 'gradientransform';
+ $o_407->attrs[] = $o_411;
$o_412 = new AttrSpec();
- $o_412->name = 'y1';
- $o_405->attrs[] = $o_412;
+ $o_412->name = 'spreadmethod';
+ $o_407->attrs[] = $o_412;
$o_413 = new AttrSpec();
- $o_413->name = 'x2';
- $o_405->attrs[] = $o_413;
+ $o_413->name = 'x1';
+ $o_407->attrs[] = $o_413;
$o_414 = new AttrSpec();
- $o_414->name = 'y2';
- $o_405->attrs[] = $o_414;
- $o_405->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
- $o_405->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_405->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_405;
- $o_415 = new TagSpec();
- $o_415->tag_name = 'mask';
+ $o_414->name = 'y1';
+ $o_407->attrs[] = $o_414;
+ $o_415 = new AttrSpec();
+ $o_415->name = 'x2';
+ $o_407->attrs[] = $o_415;
$o_416 = new AttrSpec();
- $o_416->name = 'class';
- $o_415->attrs[] = $o_416;
- $o_417 = new AttrSpec();
- $o_417->name = 'externalresourcesrequired';
- $o_415->attrs[] = $o_417;
+ $o_416->name = 'y2';
+ $o_407->attrs[] = $o_416;
+ $o_407->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
+ $o_407->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_407->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_407;
+ $o_417 = new TagSpec();
+ $o_417->tag_name = 'mask';
$o_418 = new AttrSpec();
- $o_418->name = 'height';
- $o_415->attrs[] = $o_418;
+ $o_418->name = 'class';
+ $o_417->attrs[] = $o_418;
$o_419 = new AttrSpec();
- $o_419->name = 'maskcontentunits';
- $o_415->attrs[] = $o_419;
+ $o_419->name = 'externalresourcesrequired';
+ $o_417->attrs[] = $o_419;
$o_420 = new AttrSpec();
- $o_420->name = 'maskunits';
- $o_415->attrs[] = $o_420;
+ $o_420->name = 'height';
+ $o_417->attrs[] = $o_420;
$o_421 = new AttrSpec();
- $o_421->name = 'width';
- $o_415->attrs[] = $o_421;
+ $o_421->name = 'maskcontentunits';
+ $o_417->attrs[] = $o_421;
$o_422 = new AttrSpec();
- $o_422->name = 'x';
- $o_415->attrs[] = $o_422;
+ $o_422->name = 'maskunits';
+ $o_417->attrs[] = $o_422;
$o_423 = new AttrSpec();
- $o_423->name = 'y';
- $o_415->attrs[] = $o_423;
- $o_415->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_415->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_415->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_415;
- $o_424 = new TagSpec();
- $o_424->tag_name = 'pattern';
+ $o_423->name = 'width';
+ $o_417->attrs[] = $o_423;
+ $o_424 = new AttrSpec();
+ $o_424->name = 'x';
+ $o_417->attrs[] = $o_424;
$o_425 = new AttrSpec();
- $o_425->name = 'class';
- $o_424->attrs[] = $o_425;
- $o_426 = new AttrSpec();
- $o_426->name = 'externalresourcesrequired';
- $o_424->attrs[] = $o_426;
+ $o_425->name = 'y';
+ $o_417->attrs[] = $o_425;
+ $o_417->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_417->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_417->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_417;
+ $o_426 = new TagSpec();
+ $o_426->tag_name = 'pattern';
$o_427 = new AttrSpec();
- $o_427->name = 'height';
- $o_424->attrs[] = $o_427;
+ $o_427->name = 'class';
+ $o_426->attrs[] = $o_427;
$o_428 = new AttrSpec();
- $o_428->name = 'patternunits';
- $o_424->attrs[] = $o_428;
+ $o_428->name = 'externalresourcesrequired';
+ $o_426->attrs[] = $o_428;
$o_429 = new AttrSpec();
- $o_429->name = 'patterncontentunits';
- $o_424->attrs[] = $o_429;
+ $o_429->name = 'height';
+ $o_426->attrs[] = $o_429;
$o_430 = new AttrSpec();
- $o_430->name = 'patterntransform';
- $o_424->attrs[] = $o_430;
+ $o_430->name = 'patternunits';
+ $o_426->attrs[] = $o_430;
$o_431 = new AttrSpec();
- $o_431->name = 'preserveaspectratio';
- $o_424->attrs[] = $o_431;
+ $o_431->name = 'patterncontentunits';
+ $o_426->attrs[] = $o_431;
$o_432 = new AttrSpec();
- $o_432->name = 'viewbox';
- $o_424->attrs[] = $o_432;
+ $o_432->name = 'patterntransform';
+ $o_426->attrs[] = $o_432;
$o_433 = new AttrSpec();
- $o_433->name = 'width';
- $o_424->attrs[] = $o_433;
+ $o_433->name = 'preserveaspectratio';
+ $o_426->attrs[] = $o_433;
$o_434 = new AttrSpec();
- $o_434->name = 'x';
- $o_424->attrs[] = $o_434;
+ $o_434->name = 'viewbox';
+ $o_426->attrs[] = $o_434;
$o_435 = new AttrSpec();
- $o_435->name = 'y';
- $o_424->attrs[] = $o_435;
- $o_424->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
- $o_424->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_424->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_424;
- $o_436 = new TagSpec();
- $o_436->tag_name = 'radialgradient';
+ $o_435->name = 'width';
+ $o_426->attrs[] = $o_435;
+ $o_436 = new AttrSpec();
+ $o_436->name = 'x';
+ $o_426->attrs[] = $o_436;
$o_437 = new AttrSpec();
- $o_437->name = 'class';
- $o_436->attrs[] = $o_437;
- $o_438 = new AttrSpec();
- $o_438->name = 'cx';
- $o_436->attrs[] = $o_438;
+ $o_437->name = 'y';
+ $o_426->attrs[] = $o_437;
+ $o_426->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
+ $o_426->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_426->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_426;
+ $o_438 = new TagSpec();
+ $o_438->tag_name = 'radialgradient';
$o_439 = new AttrSpec();
- $o_439->name = 'cy';
- $o_436->attrs[] = $o_439;
+ $o_439->name = 'class';
+ $o_438->attrs[] = $o_439;
$o_440 = new AttrSpec();
- $o_440->name = 'externalresourcesrequired';
- $o_436->attrs[] = $o_440;
+ $o_440->name = 'cx';
+ $o_438->attrs[] = $o_440;
$o_441 = new AttrSpec();
- $o_441->name = 'fx';
- $o_436->attrs[] = $o_441;
+ $o_441->name = 'cy';
+ $o_438->attrs[] = $o_441;
$o_442 = new AttrSpec();
- $o_442->name = 'fy';
- $o_436->attrs[] = $o_442;
+ $o_442->name = 'externalresourcesrequired';
+ $o_438->attrs[] = $o_442;
$o_443 = new AttrSpec();
- $o_443->name = 'gradientunits';
- $o_436->attrs[] = $o_443;
+ $o_443->name = 'fx';
+ $o_438->attrs[] = $o_443;
$o_444 = new AttrSpec();
- $o_444->name = 'gradienttransform';
- $o_436->attrs[] = $o_444;
+ $o_444->name = 'fy';
+ $o_438->attrs[] = $o_444;
$o_445 = new AttrSpec();
- $o_445->name = 'r';
- $o_436->attrs[] = $o_445;
+ $o_445->name = 'gradientunits';
+ $o_438->attrs[] = $o_445;
$o_446 = new AttrSpec();
- $o_446->name = 'spreadmethod';
- $o_436->attrs[] = $o_446;
- $o_436->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
- $o_436->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_436->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_436;
- $o_447 = new TagSpec();
- $o_447->tag_name = 'stop';
- $o_447->spec_name = 'lineargradient > stop';
+ $o_446->name = 'gradienttransform';
+ $o_438->attrs[] = $o_446;
+ $o_447 = new AttrSpec();
+ $o_447->name = 'r';
+ $o_438->attrs[] = $o_447;
$o_448 = new AttrSpec();
- $o_448->name = 'offset';
- $o_447->attrs[] = $o_448;
- $o_449 = new AttrSpec();
- $o_449->name = 'stop-color';
- $o_447->attrs[] = $o_449;
+ $o_448->name = 'spreadmethod';
+ $o_438->attrs[] = $o_448;
+ $o_438->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
+ $o_438->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_438->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_438;
+ $o_449 = new TagSpec();
+ $o_449->tag_name = 'stop';
+ $o_449->spec_name = 'lineargradient > stop';
$o_450 = new AttrSpec();
- $o_450->name = 'stop-opacity';
- $o_447->attrs[] = $o_450;
- $o_447->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_447->mandatory_ancestor = 'lineargradient';
- $o_0->tags[] = $o_447;
- $o_451 = new TagSpec();
- $o_451->tag_name = 'stop';
- $o_451->spec_name = 'radialgradient > stop';
+ $o_450->name = 'offset';
+ $o_449->attrs[] = $o_450;
+ $o_451 = new AttrSpec();
+ $o_451->name = 'stop-color';
+ $o_449->attrs[] = $o_451;
$o_452 = new AttrSpec();
- $o_452->name = 'offset';
- $o_451->attrs[] = $o_452;
- $o_453 = new AttrSpec();
- $o_453->name = 'stop-color';
- $o_451->attrs[] = $o_453;
+ $o_452->name = 'stop-opacity';
+ $o_449->attrs[] = $o_452;
+ $o_449->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_449->mandatory_ancestor = 'lineargradient';
+ $o_0->tags[] = $o_449;
+ $o_453 = new TagSpec();
+ $o_453->tag_name = 'stop';
+ $o_453->spec_name = 'radialgradient > stop';
$o_454 = new AttrSpec();
- $o_454->name = 'stop-opacity';
- $o_451->attrs[] = $o_454;
- $o_451->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_451->mandatory_ancestor = 'radialgradient';
- $o_0->tags[] = $o_451;
- $o_455 = new TagSpec();
- $o_455->tag_name = 'vkern';
+ $o_454->name = 'offset';
+ $o_453->attrs[] = $o_454;
+ $o_455 = new AttrSpec();
+ $o_455->name = 'stop-color';
+ $o_453->attrs[] = $o_455;
$o_456 = new AttrSpec();
- $o_456->name = 'g1';
- $o_455->attrs[] = $o_456;
- $o_457 = new AttrSpec();
- $o_457->name = 'g2';
- $o_455->attrs[] = $o_457;
+ $o_456->name = 'stop-opacity';
+ $o_453->attrs[] = $o_456;
+ $o_453->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_453->mandatory_ancestor = 'radialgradient';
+ $o_0->tags[] = $o_453;
+ $o_457 = new TagSpec();
+ $o_457->tag_name = 'vkern';
$o_458 = new AttrSpec();
- $o_458->name = 'k';
- $o_455->attrs[] = $o_458;
+ $o_458->name = 'g1';
+ $o_457->attrs[] = $o_458;
$o_459 = new AttrSpec();
- $o_459->name = 'u1';
- $o_455->attrs[] = $o_459;
+ $o_459->name = 'g2';
+ $o_457->attrs[] = $o_459;
$o_460 = new AttrSpec();
- $o_460->name = 'u2';
- $o_455->attrs[] = $o_460;
- $o_455->attr_lists = ['svg-core-attributes'];
- $o_455->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_455->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_455;
- $o_461 = new TagSpec();
- $o_461->tag_name = 'defs';
+ $o_460->name = 'k';
+ $o_457->attrs[] = $o_460;
+ $o_461 = new AttrSpec();
+ $o_461->name = 'u1';
+ $o_457->attrs[] = $o_461;
$o_462 = new AttrSpec();
- $o_462->name = 'class';
- $o_461->attrs[] = $o_462;
- $o_463 = new AttrSpec();
- $o_463->name = 'externalresourcesrequired';
- $o_461->attrs[] = $o_463;
+ $o_462->name = 'u2';
+ $o_457->attrs[] = $o_462;
+ $o_457->attr_lists = ['svg-core-attributes'];
+ $o_457->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_457->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_457;
+ $o_463 = new TagSpec();
+ $o_463->tag_name = 'defs';
$o_464 = new AttrSpec();
- $o_464->name = 'transform';
- $o_461->attrs[] = $o_464;
- $o_461->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_461->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_461->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_461;
- $o_465 = new TagSpec();
- $o_465->tag_name = 'symbol';
+ $o_464->name = 'class';
+ $o_463->attrs[] = $o_464;
+ $o_465 = new AttrSpec();
+ $o_465->name = 'externalresourcesrequired';
+ $o_463->attrs[] = $o_465;
$o_466 = new AttrSpec();
- $o_466->name = 'class';
- $o_465->attrs[] = $o_466;
- $o_467 = new AttrSpec();
- $o_467->name = 'externalresourcesrequired';
- $o_465->attrs[] = $o_467;
+ $o_466->name = 'transform';
+ $o_463->attrs[] = $o_466;
+ $o_463->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_463->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_463->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_463;
+ $o_467 = new TagSpec();
+ $o_467->tag_name = 'symbol';
$o_468 = new AttrSpec();
- $o_468->name = 'preserveaspectratio';
- $o_465->attrs[] = $o_468;
+ $o_468->name = 'class';
+ $o_467->attrs[] = $o_468;
$o_469 = new AttrSpec();
- $o_469->name = 'viewbox';
- $o_465->attrs[] = $o_469;
- $o_465->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes'];
- $o_465->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_465->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_465;
- $o_470 = new TagSpec();
- $o_470->tag_name = 'use';
+ $o_469->name = 'externalresourcesrequired';
+ $o_467->attrs[] = $o_469;
+ $o_470 = new AttrSpec();
+ $o_470->name = 'preserveaspectratio';
+ $o_467->attrs[] = $o_470;
$o_471 = new AttrSpec();
- $o_471->name = 'class';
- $o_470->attrs[] = $o_471;
- $o_472 = new AttrSpec();
- $o_472->name = 'externalresourcesrequired';
- $o_470->attrs[] = $o_472;
+ $o_471->name = 'viewbox';
+ $o_467->attrs[] = $o_471;
+ $o_467->attr_lists = ['svg-core-attributes', 'svg-presentation-attributes'];
+ $o_467->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_467->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_467;
+ $o_472 = new TagSpec();
+ $o_472->tag_name = 'use';
$o_473 = new AttrSpec();
- $o_473->name = 'height';
- $o_470->attrs[] = $o_473;
+ $o_473->name = 'class';
+ $o_472->attrs[] = $o_473;
$o_474 = new AttrSpec();
- $o_474->name = 'transform';
- $o_470->attrs[] = $o_474;
+ $o_474->name = 'externalresourcesrequired';
+ $o_472->attrs[] = $o_474;
$o_475 = new AttrSpec();
- $o_475->name = 'width';
- $o_470->attrs[] = $o_475;
+ $o_475->name = 'height';
+ $o_472->attrs[] = $o_475;
$o_476 = new AttrSpec();
- $o_476->name = 'x';
- $o_470->attrs[] = $o_476;
+ $o_476->name = 'transform';
+ $o_472->attrs[] = $o_476;
$o_477 = new AttrSpec();
- $o_477->name = 'y';
- $o_470->attrs[] = $o_477;
- $o_470->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
- $o_470->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_470->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_470;
- $o_478 = new TagSpec();
- $o_478->tag_name = 'foreignobject';
+ $o_477->name = 'width';
+ $o_472->attrs[] = $o_477;
+ $o_478 = new AttrSpec();
+ $o_478->name = 'x';
+ $o_472->attrs[] = $o_478;
$o_479 = new AttrSpec();
- $o_479->name = 'class';
- $o_478->attrs[] = $o_479;
- $o_480 = new AttrSpec();
- $o_480->name = 'externalresourcesrequired';
- $o_478->attrs[] = $o_480;
+ $o_479->name = 'y';
+ $o_472->attrs[] = $o_479;
+ $o_472->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes', 'svg-xlink-attributes'];
+ $o_472->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_472->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_472;
+ $o_480 = new TagSpec();
+ $o_480->tag_name = 'foreignobject';
$o_481 = new AttrSpec();
- $o_481->name = 'height';
- $o_478->attrs[] = $o_481;
+ $o_481->name = 'class';
+ $o_480->attrs[] = $o_481;
$o_482 = new AttrSpec();
- $o_482->name = 'transform';
- $o_478->attrs[] = $o_482;
+ $o_482->name = 'externalresourcesrequired';
+ $o_480->attrs[] = $o_482;
$o_483 = new AttrSpec();
- $o_483->name = 'width';
- $o_478->attrs[] = $o_483;
+ $o_483->name = 'height';
+ $o_480->attrs[] = $o_483;
$o_484 = new AttrSpec();
- $o_484->name = 'x';
- $o_478->attrs[] = $o_484;
+ $o_484->name = 'transform';
+ $o_480->attrs[] = $o_484;
$o_485 = new AttrSpec();
- $o_485->name = 'y';
- $o_478->attrs[] = $o_485;
- $o_478->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
- $o_478->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_478->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_478;
- $o_486 = new TagSpec();
- $o_486->tag_name = 'desc';
+ $o_485->name = 'width';
+ $o_480->attrs[] = $o_485;
+ $o_486 = new AttrSpec();
+ $o_486->name = 'x';
+ $o_480->attrs[] = $o_486;
$o_487 = new AttrSpec();
- $o_487->name = 'class';
- $o_486->attrs[] = $o_487;
- $o_486->attr_lists = ['svg-core-attributes'];
- $o_486->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
- $o_486->mandatory_ancestor = 'svg';
- $o_0->tags[] = $o_486;
+ $o_487->name = 'y';
+ $o_480->attrs[] = $o_487;
+ $o_480->attr_lists = ['svg-conditional-processing-attributes', 'svg-core-attributes', 'svg-presentation-attributes'];
+ $o_480->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_480->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_480;
$o_488 = new TagSpec();
- $o_488->tag_name = 'title';
- $o_488->spec_name = 'svg title';
+ $o_488->tag_name = 'desc';
$o_489 = new AttrSpec();
$o_489->name = 'class';
$o_488->attrs[] = $o_489;
@@ -2107,843 +2103,790 @@ public static function createValidationRules() {
$o_488->mandatory_ancestor = 'svg';
$o_0->tags[] = $o_488;
$o_490 = new TagSpec();
- $o_490->tag_name = 'table';
+ $o_490->tag_name = 'title';
+ $o_490->spec_name = 'svg title';
$o_491 = new AttrSpec();
- $o_491->name = 'sortable';
+ $o_491->name = 'class';
$o_490->attrs[] = $o_491;
- $o_492 = new AttrSpec();
- $o_492->name = 'align';
- $o_490->attrs[] = $o_492;
+ $o_490->attr_lists = ['svg-core-attributes'];
+ $o_490->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#svg';
+ $o_490->mandatory_ancestor = 'svg';
+ $o_0->tags[] = $o_490;
+ $o_492 = new TagSpec();
+ $o_492->tag_name = 'table';
$o_493 = new AttrSpec();
- $o_493->name = 'border';
- $o_493->value_regex = '0|1';
- $o_490->attrs[] = $o_493;
+ $o_493->name = 'sortable';
+ $o_492->attrs[] = $o_493;
$o_494 = new AttrSpec();
- $o_494->name = 'bgcolor';
- $o_490->attrs[] = $o_494;
+ $o_494->name = 'align';
+ $o_492->attrs[] = $o_494;
$o_495 = new AttrSpec();
- $o_495->name = 'cellpadding';
- $o_490->attrs[] = $o_495;
+ $o_495->name = 'border';
+ $o_495->value_regex = '0|1';
+ $o_492->attrs[] = $o_495;
$o_496 = new AttrSpec();
- $o_496->name = 'cellspacing';
- $o_490->attrs[] = $o_496;
+ $o_496->name = 'bgcolor';
+ $o_492->attrs[] = $o_496;
$o_497 = new AttrSpec();
- $o_497->name = 'width';
- $o_490->attrs[] = $o_497;
- $o_0->tags[] = $o_490;
- $o_498 = new TagSpec();
- $o_498->tag_name = 'caption';
- $o_0->tags[] = $o_498;
- $o_499 = new TagSpec();
- $o_499->tag_name = 'colgroup';
- $o_500 = new AttrSpec();
- $o_500->name = 'span';
- $o_499->attrs[] = $o_500;
- $o_0->tags[] = $o_499;
+ $o_497->name = 'cellpadding';
+ $o_492->attrs[] = $o_497;
+ $o_498 = new AttrSpec();
+ $o_498->name = 'cellspacing';
+ $o_492->attrs[] = $o_498;
+ $o_499 = new AttrSpec();
+ $o_499->name = 'width';
+ $o_492->attrs[] = $o_499;
+ $o_0->tags[] = $o_492;
+ $o_500 = new TagSpec();
+ $o_500->tag_name = 'caption';
+ $o_0->tags[] = $o_500;
$o_501 = new TagSpec();
- $o_501->tag_name = 'col';
+ $o_501->tag_name = 'colgroup';
$o_502 = new AttrSpec();
$o_502->name = 'span';
$o_501->attrs[] = $o_502;
$o_0->tags[] = $o_501;
$o_503 = new TagSpec();
- $o_503->tag_name = 'tbody';
+ $o_503->tag_name = 'col';
+ $o_504 = new AttrSpec();
+ $o_504->name = 'span';
+ $o_503->attrs[] = $o_504;
$o_0->tags[] = $o_503;
- $o_504 = new TagSpec();
- $o_504->tag_name = 'thead';
- $o_0->tags[] = $o_504;
$o_505 = new TagSpec();
- $o_505->tag_name = 'tfoot';
+ $o_505->tag_name = 'tbody';
$o_0->tags[] = $o_505;
$o_506 = new TagSpec();
- $o_506->tag_name = 'tr';
- $o_507 = new AttrSpec();
- $o_507->name = 'align';
- $o_506->attrs[] = $o_507;
- $o_508 = new AttrSpec();
- $o_508->name = 'bgcolor';
- $o_506->attrs[] = $o_508;
+ $o_506->tag_name = 'thead';
+ $o_0->tags[] = $o_506;
+ $o_507 = new TagSpec();
+ $o_507->tag_name = 'tfoot';
+ $o_0->tags[] = $o_507;
+ $o_508 = new TagSpec();
+ $o_508->tag_name = 'tr';
$o_509 = new AttrSpec();
- $o_509->name = 'height';
- $o_506->attrs[] = $o_509;
+ $o_509->name = 'align';
+ $o_508->attrs[] = $o_509;
$o_510 = new AttrSpec();
- $o_510->name = 'valign';
- $o_506->attrs[] = $o_510;
- $o_0->tags[] = $o_506;
- $o_511 = new TagSpec();
- $o_511->tag_name = 'td';
+ $o_510->name = 'bgcolor';
+ $o_508->attrs[] = $o_510;
+ $o_511 = new AttrSpec();
+ $o_511->name = 'height';
+ $o_508->attrs[] = $o_511;
$o_512 = new AttrSpec();
- $o_512->name = 'colspan';
- $o_511->attrs[] = $o_512;
- $o_513 = new AttrSpec();
- $o_513->name = 'headers';
- $o_511->attrs[] = $o_513;
+ $o_512->name = 'valign';
+ $o_508->attrs[] = $o_512;
+ $o_0->tags[] = $o_508;
+ $o_513 = new TagSpec();
+ $o_513->tag_name = 'td';
$o_514 = new AttrSpec();
- $o_514->name = 'rowspan';
- $o_511->attrs[] = $o_514;
+ $o_514->name = 'colspan';
+ $o_513->attrs[] = $o_514;
$o_515 = new AttrSpec();
- $o_515->name = 'align';
- $o_511->attrs[] = $o_515;
+ $o_515->name = 'headers';
+ $o_513->attrs[] = $o_515;
$o_516 = new AttrSpec();
- $o_516->name = 'bgcolor';
- $o_511->attrs[] = $o_516;
+ $o_516->name = 'rowspan';
+ $o_513->attrs[] = $o_516;
$o_517 = new AttrSpec();
- $o_517->name = 'height';
- $o_511->attrs[] = $o_517;
+ $o_517->name = 'align';
+ $o_513->attrs[] = $o_517;
$o_518 = new AttrSpec();
- $o_518->name = 'valign';
- $o_511->attrs[] = $o_518;
+ $o_518->name = 'bgcolor';
+ $o_513->attrs[] = $o_518;
$o_519 = new AttrSpec();
- $o_519->name = 'width';
- $o_511->attrs[] = $o_519;
- $o_0->tags[] = $o_511;
- $o_520 = new TagSpec();
- $o_520->tag_name = 'th';
+ $o_519->name = 'height';
+ $o_513->attrs[] = $o_519;
+ $o_520 = new AttrSpec();
+ $o_520->name = 'valign';
+ $o_513->attrs[] = $o_520;
$o_521 = new AttrSpec();
- $o_521->name = 'abbr';
- $o_520->attrs[] = $o_521;
- $o_522 = new AttrSpec();
- $o_522->name = 'colspan';
- $o_520->attrs[] = $o_522;
+ $o_521->name = 'width';
+ $o_513->attrs[] = $o_521;
+ $o_0->tags[] = $o_513;
+ $o_522 = new TagSpec();
+ $o_522->tag_name = 'th';
$o_523 = new AttrSpec();
- $o_523->name = 'headers';
- $o_520->attrs[] = $o_523;
+ $o_523->name = 'abbr';
+ $o_522->attrs[] = $o_523;
$o_524 = new AttrSpec();
- $o_524->name = 'rowspan';
- $o_520->attrs[] = $o_524;
+ $o_524->name = 'colspan';
+ $o_522->attrs[] = $o_524;
$o_525 = new AttrSpec();
- $o_525->name = 'scope';
- $o_520->attrs[] = $o_525;
+ $o_525->name = 'headers';
+ $o_522->attrs[] = $o_525;
$o_526 = new AttrSpec();
- $o_526->name = 'sorted';
- $o_520->attrs[] = $o_526;
+ $o_526->name = 'rowspan';
+ $o_522->attrs[] = $o_526;
$o_527 = new AttrSpec();
- $o_527->name = 'align';
- $o_520->attrs[] = $o_527;
+ $o_527->name = 'scope';
+ $o_522->attrs[] = $o_527;
$o_528 = new AttrSpec();
- $o_528->name = 'bgcolor';
- $o_520->attrs[] = $o_528;
+ $o_528->name = 'sorted';
+ $o_522->attrs[] = $o_528;
$o_529 = new AttrSpec();
- $o_529->name = 'height';
- $o_520->attrs[] = $o_529;
+ $o_529->name = 'align';
+ $o_522->attrs[] = $o_529;
$o_530 = new AttrSpec();
- $o_530->name = 'valign';
- $o_520->attrs[] = $o_530;
+ $o_530->name = 'bgcolor';
+ $o_522->attrs[] = $o_530;
$o_531 = new AttrSpec();
- $o_531->name = 'width';
- $o_520->attrs[] = $o_531;
- $o_0->tags[] = $o_520;
- $o_532 = new TagSpec();
- $o_532->tag_name = 'button';
+ $o_531->name = 'height';
+ $o_522->attrs[] = $o_531;
+ $o_532 = new AttrSpec();
+ $o_532->name = 'valign';
+ $o_522->attrs[] = $o_532;
$o_533 = new AttrSpec();
- $o_533->name = 'disabled';
- $o_533->value = '';
- $o_532->attrs[] = $o_533;
- $o_534 = new AttrSpec();
- $o_534->name = 'name';
- $o_532->attrs[] = $o_534;
+ $o_533->name = 'width';
+ $o_522->attrs[] = $o_533;
+ $o_0->tags[] = $o_522;
+ $o_534 = new TagSpec();
+ $o_534->tag_name = 'button';
$o_535 = new AttrSpec();
- $o_535->name = 'role';
- $o_535->implicit = true;
- $o_532->attrs[] = $o_535;
+ $o_535->name = 'disabled';
+ $o_535->value = '';
+ $o_534->attrs[] = $o_535;
$o_536 = new AttrSpec();
- $o_536->name = 'tabindex';
- $o_536->implicit = true;
- $o_532->attrs[] = $o_536;
+ $o_536->name = 'name';
+ $o_534->attrs[] = $o_536;
$o_537 = new AttrSpec();
- $o_537->name = 'type';
- $o_532->attrs[] = $o_537;
+ $o_537->name = 'role';
+ $o_537->implicit = true;
+ $o_534->attrs[] = $o_537;
$o_538 = new AttrSpec();
- $o_538->name = 'value';
- $o_532->attrs[] = $o_538;
- $o_0->tags[] = $o_532;
- $o_539 = new TagSpec();
- $o_539->tag_name = 'script';
- $o_539->spec_name = 'amphtml engine v0.js script';
- $o_539->mandatory = true;
- $o_539->unique = true;
- $o_539->mandatory_parent = 'head';
+ $o_538->name = 'tabindex';
+ $o_538->implicit = true;
+ $o_534->attrs[] = $o_538;
+ $o_539 = new AttrSpec();
+ $o_539->name = 'type';
+ $o_534->attrs[] = $o_539;
$o_540 = new AttrSpec();
- $o_540->name = 'async';
- $o_540->mandatory = true;
- $o_540->value = '';
- $o_539->attrs[] = $o_540;
- $o_541 = new AttrSpec();
- $o_541->name = 'src';
- $o_541->mandatory = true;
- $o_541->value = 'https://cdn.ampproject.org/v0.js';
- $o_541->dispatch_key = true;
- $o_539->attrs[] = $o_541;
+ $o_540->name = 'value';
+ $o_534->attrs[] = $o_540;
+ $o_0->tags[] = $o_534;
+ $o_541 = new TagSpec();
+ $o_541->tag_name = 'form';
$o_542 = new AttrSpec();
- $o_542->name = 'type';
- $o_542->value = 'text/javascript';
- $o_539->attrs[] = $o_542;
- $o_539->spec_url = 'https://www.ampproject.org/docs/reference/spec.html#required-markup';
- $o_543 = new CdataSpec();
- $o_544 = new BlackListedCDataRegex();
- $o_544->regex = '.';
- $o_544->error_message = 'contents';
- $o_543->blacklisted_cdata_regex[] = $o_544;
- $o_539->cdata = $o_543;
- $o_0->tags[] = $o_539;
- $o_545 = new TagSpec();
- $o_545->tag_name = 'script';
- $o_545->spec_name = 'script type=application/ld+json';
+ $o_542->name = 'accept';
+ $o_541->attrs[] = $o_542;
+ $o_543 = new AttrSpec();
+ $o_543->name = 'accept-charset';
+ $o_541->attrs[] = $o_543;
+ $o_544 = new AttrSpec();
+ $o_544->name = 'action-xhr';
+ $o_544->mandatory = true;
+ $o_544->blacklisted_value_regex = '__amp_source_origin';
+ $o_545 = new UrlSpec();
+ $o_545->allowed_protocol = ['https'];
+ $o_545->allow_relative = true;
+ $o_544->value_url = $o_545;
+ $o_541->attrs[] = $o_544;
$o_546 = new AttrSpec();
- $o_546->name = 'type';
- $o_546->mandatory = true;
- $o_546->value = 'application/ld+json';
- $o_546->dispatch_key = true;
- $o_545->attrs[] = $o_546;
- $o_547 = new CdataSpec();
- $o_548 = new BlackListedCDataRegex();
- $o_548->regex = '
This is a sample