<commit_before><!DOCTYPE html>
<%@ taglib uri="/WEB-INF/repo.tld" prefix="repo" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
	<head>
		<repo:headStuff title="View exercise"></repo:headStuff>
	</head>
	<body>
		<repo:topBanner/>
		<div id="content">
			<h1>Exercise ${RepoProblem.testname}</h1>
			
			<p><b>Author:</b> ${RepoProblem.authorName} &lt;<a href="mailto:${RepoProblem.authorEmail}">${RepoProblem.authorEmail}</a>&gt;</p>
			
			<p><b>Programming language:</b> ${RepoProblem.problemType.language.name} </p>
			
			<p><b>Hash code:</b> (use this to import the exercise into CloudCoder)</p>
			<blockquote><span class="exerciseHash">${RepoProblem.hash}</span></blockquote>
			
			<p><b>Description:</b></p>
			<blockquote class="exerciseDescription">
				<repo:sanitizeHTML html="${RepoProblem.description}"/>
			</blockquote>
			
			<p><b>Test cases (${fn:length(RepoTestCases)}):</b></p>
			<c:forEach var="repoTestCase" items="${RepoTestCases}">
				<c:out value="${repoTestCase.testCaseName}"/>
			</c:forEach>
			<commit_msg>escape XML characters in untrusted exercises fields<commit_after><!DOCTYPE html>
<%@ taglib uri="/WEB-INF/repo.tld" prefix="repo" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
	<head>
		<repo:headStuff title="View exercise"></repo:headStuff>
	</head>
	<body>
		<repo:topBanner/>
		<div id="content">
			<h1>Exercise ${RepoProblem.testname}</h1>
			
			<p><b>Author:</b> ${fn:escapeXml(RepoProblem.authorName)} &lt;<a href="mailto:${fn:escapeXml(RepoProblem.authorEmail)}">${fn:escapeXml(RepoProblem.authorEmail)}</a>&gt;</p>
			
			<p><b>Programming language:</b> ${RepoProblem.problemType.language.name} </p>
			
			<p><b>Hash code:</b> (use this to import the exercise into CloudCoder)</p>
			<blockquote><span class="exerciseHash">${RepoProblem.hash}</span></blockquote>
			
			<p><b>Description:</b></p>
			<blockquote class="exerciseDescription">
				<repo:sanitizeHTML html="${RepoProblem.description}"/>
			</blockquote>
			
			<p><b>Test cases (${fn:length(RepoTestCases)}):</b></p>
			<c:forEach var="repoTestCase" items="${RepoTestCases}">
				${fn:escapeXml(repoTestCase.testCaseName)}
			</c:forEach>
			
{'fraction_non_alphanumeric': 0.21868365180467092, 'fraction_numerical': 0.0016985138004246285, 'mean_word_length': 5.249336870026525, 'pattern_counts': {'":': 0, '<': 94, '<?xml version=': 0, '>': 94, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5925754', 'n_tokens_mistral': 974, 'n_tokens_neox': 856, 'n_words': 121}