시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB158459340936.099%

문제

팀포2 덕후 연수는 팀포2를 다운받던 도중 하드 용량이 부족하다는 것을 알았다. 이때는 침착하게 팀포2를 하지 말거나 하드를 새로 사면 되지만 불가능했고, 결국 하드에서 쓸모없는 파일을 지워야만 한다.

연수는 또한 턱스 덕후여서 리눅스를 사용중이다. 리눅스에서 현재 디렉토리의 특정 파일을 지우려면 "rm 파일명"의 형식을 갖춰 명령하면 된다. 그러나 파일 개수가 너무 많을 경우 일일이 다 칠 수 없기에, 와일드카드 '*'를 사용할 수도 있다. "rm 문자열*" 형식으로 명령하면 현재 디렉토리에서 파일 이름이 "문자열"이거나 "문자열"로 시작하는 모든 파일이 한번에 삭제된다! 그러나 지워서는 안 되는 파일들 또한 존재한다. rm 명령어를 잘못 사용하여 이러한 파일들을 지우지 않도록 조심해야 할 것이다. 때에 따라서 "rm *"도 사용할 수 있긴 하다. 현재 디렉토리의 모든 파일을 지우고 싶을 때만...

모든 파일이 디렉토리 하나에 존재하고 연수가 그 디렉토리에 있을 때, 지우고 싶은 파일들을 모두 지우는 데 필요한 최소 rm 명령 횟수를 구하시오. 단, 사용할 수 있는 와일드카드는 '*' 뿐이며 반드시 제일 끝에만 사용해야 한다. 예를 들면 "rm *.txt"는 사용할 수 없다.

입력

입력은 여러 개의 테스트 케이스로 주어지며, 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 다음과 같은 형식이다.

  • 첫째 줄에 지워야 하는 파일의 개수 N1이 주어진다. (1 ≤ N1 ≤ 1000)
  • 이어서 N1개의 줄에 지워야 하는 파일명이 줄마다 하나씩 주어진다.
  • 이어서 지우면 안 되는 파일의 개수 N2가 주어진다. (0 ≤ N2 ≤ 1000)
  • 이어서 N2개의 줄에 지우면 안 되는 파일명이 줄마다 하나씩 주어진다.

파일 이름은 모두 1글자 이상 20글자 이하이며, 영문 대소문자, 숫자, 점(.)으로만 이루어져 있다. 하나의 테스트 케이스에 등장하는 모든 파일 이름은 서로 다르다.

출력

각 테스트 케이스마다 한 줄에 걸쳐 문제의 정답을 출력한다.

예제 입력 1

1
11
BAPC.in
BAPC.out
BAPC.tex
filter
filename
filenames
clean
cleanup.IN1
cleanup.IN2
cleanup.out
problem.tex
5
BAPC
files
cleanup
cleanup.IN
cleaning

예제 출력 1

8

힌트

8번만에 원하는 파일만 삭제할 수 있는 예 중 하나는 다음과 같다.

"BAPC.*", "filt*", "filename*", "clean", "cleanup.IN1", "cleanup.IN2", "cleanup.out", "p*"

W3sicHJvYmxlbV9pZCI6IjU0NDYiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWM2YTlcdWI3YzkgXHViZDgwXHVjODcxIiwiZGVzY3JpcHRpb24iOiI8cD5cdWQzMDBcdWQzZWMyIFx1YjM1NVx1ZDZjNCBcdWM1ZjBcdWMyMThcdWIyOTQgXHVkMzAwXHVkM2VjMlx1Yjk3YyBcdWIyZTRcdWM2YjRcdWJjMWJcdWIzNTggXHViM2M0XHVjOTExIFx1ZDU1OFx1YjRkYyBcdWM2YTlcdWI3YzlcdWM3NzQgXHViZDgwXHVjODcxXHVkNTU4XHViMmU0XHViMjk0IFx1YWM4M1x1Yzc0NCBcdWM1NGNcdWM1NThcdWIyZTQuIFx1Yzc3NFx1YjU0Y1x1YjI5NCBcdWNlNjhcdWNjMjlcdWQ1NThcdWFjOGMgXHVkMzAwXHVkM2VjMlx1Yjk3YyBcdWQ1NThcdWM5YzAgXHViOWQwXHVhYzcwXHViMDk4IFx1ZDU1OFx1YjRkY1x1Yjk3YyBcdWMwYzhcdWI4NWMgXHVjMGFjXHViYTc0IFx1YjQxOFx1YzljMFx1YjljYyBcdWJkODhcdWFjMDBcdWIyYTVcdWQ1ODhcdWFjZTAsIFx1YWNiMFx1YWQ2ZCBcdWQ1NThcdWI0ZGNcdWM1ZDBcdWMxMWMgXHVjNGY4XHViYWE4XHVjNWM2XHViMjk0IFx1ZDMwY1x1Yzc3Y1x1Yzc0NCBcdWM5YzBcdWM2Y2NcdWM1N2NcdWI5Y2MgXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM1ZjBcdWMyMThcdWIyOTQgXHViNjEwXHVkNTVjIFx1ZDEzMVx1YzJhNCBcdWIzNTVcdWQ2YzRcdWM1ZWNcdWMxMWMgXHViOWFjXHViMjA1XHVjMmE0XHViOTdjIFx1YzBhY1x1YzZhOVx1YzkxMVx1Yzc3NFx1YjJlNC4gXHViOWFjXHViMjA1XHVjMmE0XHVjNWQwXHVjMTFjIFx1ZDYwNFx1YzdhYyBcdWI1MTRcdWI4MDlcdWQxYTBcdWI5YWNcdWM3NTggXHVkMmI5XHVjODE1IFx1ZDMwY1x1Yzc3Y1x1Yzc0NCBcdWM5YzBcdWM2YjBcdWI4MjRcdWJhNzQgJnF1b3Q7cm0gXHVkMzBjXHVjNzdjXHViYTg1JnF1b3Q7XHVjNzU4IFx1ZDYxNVx1YzJkZFx1Yzc0NCBcdWFjMTZcdWNkYjAgXHViYTg1XHViODM5XHVkNTU4XHViYTc0IFx1YjQxY1x1YjJlNC4gXHVhZGY4XHViN2VjXHViMDk4IFx1ZDMwY1x1Yzc3YyBcdWFjMWNcdWMyMThcdWFjMDAgXHViMTA4XHViYjM0IFx1YjljZVx1Yzc0NCBcdWFjYmRcdWM2YjAgXHVjNzdjXHVjNzdjXHVjNzc0IFx1YjJlNCBcdWNlNjAgXHVjMjE4IFx1YzVjNlx1YWUzMFx1YzVkMCwgXHVjNjQwXHVjNzdjXHViNGRjXHVjZTc0XHViNGRjICYjMzk7KiYjMzk7XHViOTdjIFx1YzBhY1x1YzZhOVx1ZDU2MCBcdWMyMThcdWIzYzQgXHVjNzg4XHViMmU0LiAmcXVvdDtybSBcdWJiMzhcdWM3OTBcdWM1ZjQqJnF1b3Q7IFx1ZDYxNVx1YzJkZFx1YzczY1x1Yjg1YyBcdWJhODVcdWI4MzlcdWQ1NThcdWJhNzQgXHVkNjA0XHVjN2FjIFx1YjUxNFx1YjgwOVx1ZDFhMFx1YjlhY1x1YzVkMFx1YzExYyBcdWQzMGNcdWM3N2MgXHVjNzc0XHViOTg0XHVjNzc0ICZxdW90O1x1YmIzOFx1Yzc5MFx1YzVmNCZxdW90O1x1Yzc3NFx1YWM3MFx1YjA5OCAmcXVvdDtcdWJiMzhcdWM3OTBcdWM1ZjQmcXVvdDtcdWI4NWMgXHVjMmRjXHVjNzkxXHVkNTU4XHViMjk0IFx1YmFhOFx1YjRlMCBcdWQzMGNcdWM3N2NcdWM3NzQgXHVkNTVjXHViYzg4XHVjNWQwIFx1YzBhZFx1YzgxY1x1YjQxY1x1YjJlNCEgXHVhZGY4XHViN2VjXHViMDk4IFx1YzljMFx1YzZjY1x1YzExY1x1YjI5NCBcdWM1NDggXHViNDE4XHViMjk0IFx1ZDMwY1x1Yzc3Y1x1YjRlNCBcdWI2MTBcdWQ1NWMgXHVjODc0XHVjN2FjXHVkNTVjXHViMmU0LiBybSBcdWJhODVcdWI4MzlcdWM1YjRcdWI5N2MgXHVjNzk4XHViYWJiIFx1YzBhY1x1YzZhOVx1ZDU1OFx1YzVlYyBcdWM3NzRcdWI3ZWNcdWQ1NWMgXHVkMzBjXHVjNzdjXHViNGU0XHVjNzQ0IFx1YzljMFx1YzZiMFx1YzljMCBcdWM1NGFcdWIzYzRcdWI4NWQgXHVjODcwXHVjMmVjXHVkNTc0XHVjNTdjIFx1ZDU2MCBcdWFjODNcdWM3NzRcdWIyZTQuIFx1YjU0Y1x1YzVkMCBcdWI1MzBcdWI3N2NcdWMxMWMgJnF1b3Q7cm0gKiZxdW90O1x1YjNjNCBcdWMwYWNcdWM2YTlcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YWUzNCBcdWQ1NThcdWIyZTQuIFx1ZDYwNFx1YzdhYyBcdWI1MTRcdWI4MDlcdWQxYTBcdWI5YWNcdWM3NTggXHViYWE4XHViNGUwIFx1ZDMwY1x1Yzc3Y1x1Yzc0NCBcdWM5YzBcdWM2YjBcdWFjZTAgXHVjMmY2XHVjNzQ0IFx1YjU0Y1x1YjljYy4uLjxcL3A+XHJcblxyXG48cD5cdWJhYThcdWI0ZTAgXHVkMzBjXHVjNzdjXHVjNzc0IFx1YjUxNFx1YjgwOVx1ZDFhMFx1YjlhYyBcdWQ1NThcdWIwOThcdWM1ZDAgXHVjODc0XHVjN2FjXHVkNTU4XHVhY2UwIFx1YzVmMFx1YzIxOFx1YWMwMCBcdWFkZjggXHViNTE0XHViODA5XHVkMWEwXHViOWFjXHVjNWQwIFx1Yzc4OFx1Yzc0NCBcdWI1NGMsIFx1YzljMFx1YzZiMFx1YWNlMCBcdWMyZjZcdWM3NDAgXHVkMzBjXHVjNzdjXHViNGU0XHVjNzQ0IFx1YmFhOFx1YjQ1MCBcdWM5YzBcdWM2YjBcdWIyOTQgXHViMzcwIFx1ZDU0NFx1YzY5NFx1ZDU1YyBcdWNkNWNcdWMxOGMgcm0gXHViYTg1XHViODM5IFx1ZDY5Zlx1YzIxOFx1Yjk3YyBcdWFkNmNcdWQ1NThcdWMyZGNcdWM2MjQuIFx1YjJlOCwgXHVjMGFjXHVjNmE5XHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVjNjQwXHVjNzdjXHViNGRjXHVjZTc0XHViNGRjXHViMjk0ICYjMzk7KiYjMzk7IFx1YmZkMFx1Yzc3NFx1YmE3MCBcdWJjMThcdWI0ZGNcdWMyZGMgXHVjODFjXHVjNzdjIFx1YjA1ZFx1YzVkMFx1YjljYyBcdWMwYWNcdWM2YTlcdWQ1NzRcdWM1N2MgXHVkNTVjXHViMmU0LiBcdWM2MDhcdWI5N2MgXHViNGU0XHViYTc0ICZxdW90O3JtICoudHh0JnF1b3Q7XHViMjk0IFx1YzBhY1x1YzZhOVx1ZDU2MCBcdWMyMTggXHVjNWM2XHViMmU0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjNzg1XHViODI1XHVjNzQwIFx1YzVlY1x1YjdlYyBcdWFjMWNcdWM3NTggXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzBcdWJhNzAsIFx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1Yzc1OCBcdWFjMWNcdWMyMThcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YjI5NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzQwIFx1ZDYxNVx1YzJkZFx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YzljMFx1YzZjY1x1YzU3YyBcdWQ1NThcdWIyOTQgXHVkMzBjXHVjNzdjXHVjNzU4IFx1YWMxY1x1YzIxOCBOPHN1Yj4xPFwvc3ViPlx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICgxICZsZTsgTjxzdWI+MTxcL3N1Yj4gJmxlOyAxMDAwKTxcL2xpPlxyXG5cdDxsaT5cdWM3NzRcdWM1YjRcdWMxMWMgTjxzdWI+MTxcL3N1Yj5cdWFjMWNcdWM3NTggXHVjOTA0XHVjNWQwIFx1YzljMFx1YzZjY1x1YzU3YyBcdWQ1NThcdWIyOTQgXHVkMzBjXHVjNzdjXHViYTg1XHVjNzc0IFx1YzkwNFx1YjljOFx1YjJlNCBcdWQ1NThcdWIwOThcdWM1MjkgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWM3NzRcdWM1YjRcdWMxMWMgXHVjOWMwXHVjNmIwXHViYTc0IFx1YzU0OCBcdWI0MThcdWIyOTQgXHVkMzBjXHVjNzdjXHVjNzU4IFx1YWMxY1x1YzIxOCZuYnNwO048c3ViPjI8XC9zdWI+XHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gKDAgJmxlOyBOPHN1Yj4yPFwvc3ViPiAmbGU7IDEwMDApPFwvbGk+XHJcblx0PGxpPlx1Yzc3NFx1YzViNFx1YzExYyBOPHN1Yj4yPFwvc3ViPlx1YWMxY1x1Yzc1OCBcdWM5MDRcdWM1ZDAgXHVjOWMwXHVjNmIwXHViYTc0IFx1YzU0OCBcdWI0MThcdWIyOTQgXHVkMzBjXHVjNzdjXHViYTg1XHVjNzc0IFx1YzkwNFx1YjljOFx1YjJlNCBcdWQ1NThcdWIwOThcdWM1MjkgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1ZDMwY1x1Yzc3YyBcdWM3NzRcdWI5ODRcdWM3NDAgXHViYWE4XHViNDUwIDFcdWFlMDBcdWM3OTAgXHVjNzc0XHVjMGMxIDIwXHVhZTAwXHVjNzkwIFx1Yzc3NFx1ZDU1OFx1Yzc3NFx1YmE3MCwgXHVjNjAxXHViYjM4IFx1YjMwMFx1YzE4Y1x1YmIzOFx1Yzc5MCwgXHVjMjJiXHVjNzkwLCBcdWM4MTAoLilcdWM3M2NcdWI4NWNcdWI5Y2MgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC4gXHVkNTU4XHViMDk4XHVjNzU4IFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM1ZDAgXHViNGYxXHVjN2E1XHVkNTU4XHViMjk0IFx1YmFhOFx1YjRlMCBcdWQzMGNcdWM3N2MgXHVjNzc0XHViOTg0XHVjNzQwIFx1YzExY1x1Yjg1YyBcdWIyZTRcdWI5NzRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVhYzAxIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWI5YzhcdWIyZTQgXHVkNTVjIFx1YzkwNFx1YzVkMCBcdWFjNzhcdWNjZDAgXHViYjM4XHVjODFjXHVjNzU4IFx1YzgxNVx1YjJmNVx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IjxwPjhcdWJjODhcdWI5Y2NcdWM1ZDAgXHVjNmQwXHVkNTU4XHViMjk0IFx1ZDMwY1x1Yzc3Y1x1YjljYyBcdWMwYWRcdWM4MWNcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWM2MDggXHVjOTExIFx1ZDU1OFx1YjA5OFx1YjI5NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHViMmU0LjxcL3A+XHJcblxyXG48cD4mcXVvdDtCQVBDLiomcXVvdDssICZxdW90O2ZpbHQqJnF1b3Q7LCAmcXVvdDtmaWxlbmFtZSomcXVvdDssICZxdW90O2NsZWFuJnF1b3Q7LCAmcXVvdDtjbGVhbnVwLklOMSZxdW90OywgJnF1b3Q7Y2xlYW51cC5JTjImcXVvdDssICZxdW90O2NsZWFudXAub3V0JnF1b3Q7LCAmcXVvdDtwKiZxdW90OzxcL3A+XHJcbiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIn0seyJwcm9ibGVtX2lkIjoiNTQ0NiIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IlRoZSBHcmVhdCBDbGVhbnVwIiwiZGVzY3JpcHRpb24iOiI8cD5JdCBoYXBwZW5zIHRvIGFsbCBvZiB1cy4gV2hpbGUgeW91IGFyZSBoYXBwaWx5IGRvd25sb2FkaW5nIGEgbW92aWUgb3IgY29weWluZyBhIGZpbGUsIGEgd2FybmluZyBhcHBlYXJzIG9uIHlvdXIgY29tcHV0ZXIgc2NyZWVuOiAmbGRxdW87ZGlzayBmdWxsLCZyZHF1bzsgb3IgJmxkcXVvO2Rpc2sgcXVvdGEgZXhjZWVkZWQuJnJkcXVvOzxcL3A+XHJcblxyXG48cD5UaGVyZSBhcmUgc2V2ZXJhbCB3YXlzIHRvIGRlYWwgd2l0aCB0aGlzLiBZb3UgbWF5IHNpbXBseSBhY2NlcHQgdGhlIGZhY3QgdGhhdCB5b3Ugd2lsbCBuZXZlciB3YXRjaCB0aGUgbW92aWUgeW91IHdlcmUgZG93bmxvYWRpbmcsIG9yIHRoYXQgeW91IGhhdmUgdG8gbGl2ZSB0aGUgcmVzdCBvZiB5b3VyIGxpZmUgd2l0aCBhIHNpbmdsZSBjb3B5IG9mIHRoZSBmaWxlLiBZb3UgbWF5IGFsc28gaW5zdGFsbCBhIGxhcmdlciBkaXNrIG9yIHRyeSB0byBhY3F1aXJlIGEgbGFyZ2VyIGRpc2sgcXVvdGEuPFwvcD5cclxuXHJcbjxwPkEgdGhpcmQgb3B0aW9uIGlzIHRvIGNyZWF0ZSBzb21lIHNwYWNlIG9uIHRoZSBkaXNrIGJ5IHJlbW92aW5nIGZpbGVzIHRoYXQgeW91IGRvIG5vdCByZWFsbHkgbmVlZCBhbnltb3JlLiBVbmRlciBMaW51eCwgeW91IGNhbiB1c2UgdGhlIGNvbW1hbmQgcm0gZm9yIHRoaXMuIFRoZSBzeW50YXggaXMgc2ltcGxlOiAmcXVvdDtybSBmaWxlbmFtZSZxdW90OyByZW1vdmVzIHRoZSBmaWxlIHdpdGggbmFtZSAmcXVvdDtmaWxlbmFtZSZxdW90Oy4gWW91IG1heSB1c2UgYSBzZXBhcmF0ZSBybS1jb21tYW5kIGZvciBldmVyeSBzaW5nbGUgZmlsZSwgYnV0IHlvdSBtYXkgYWxzbyB1c2UgYSB3aWxkY2FyZCAmcnNxdW87KiZyc3F1bzsgdG8gcmVtb3ZlIG11bHRpcGxlIGZpbGVzIGluIG9uZSBzdGVwLiBGb3IgZXhhbXBsZSwgJnF1b3Q7cm0gQkFQQyomcXVvdDsgcmVtb3ZlcyBhbGwgZmlsZXMgdGhhdCBzdGFydCB3aXRoICZxdW90O0JBUEMmcXVvdDsuIFRoaXMgd2F5LCB5b3UgaGF2ZSB0byB0eXBlIGZld2VyIGNvbW1hbmRzLjxcL3A+XHJcblxyXG48cD5PZiBjb3Vyc2UsIHlvdSBtdXN0IG5vdCByZW1vdmUgZmlsZXMgdGhhdCB5b3Ugd2FudCB0byBrZWVwLiBIZW5jZSwgJnF1b3Q7cm0gKiZxdW90Oywgd2hpY2ggaXMgYWxsb3dlZCwgYW5kIHdoaWNoIHJlbW92ZXMgYWxsIGZpbGVzIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeSwgaXMgb2Z0ZW4gbm90IGRlc2lyYWJsZS48XC9wPlxyXG5cclxuPHA+Tm93LCBnaXZlbiB0aGUgbmFtZXMgb2YgdGhlIGZpbGVzIHlvdSB3YW50IHRvIHJlbW92ZSwgYW5kIGdpdmVuIHRoZSBuYW1lcyBvZiB0aGUgZmlsZXMgeW91IHdhbnQgdG8ga2VlcCwgeW91IGhhdmUgdG8gZGV0ZXJtaW5lIHRoZSBtaW5pbXVtIG51bWJlciBvZiBybS1jb21tYW5kcyB0byBnZXQgdGhlIGpvYiBkb25lLiBZb3UgbWF5IG9ubHkgdXNlIHdpbGRjYXJkcyBhdCB0aGUgZW5kIG9mIHlvdXIgY29tbWFuZHMuIEZvciBleGFtcGxlLCAmcXVvdDtybSAqLnR4dCZxdW90OyAod2hpY2ggd291bGQgcmVtb3ZlIGFsbCAmcXVvdDsudHh0JnF1b3Q7IGZpbGVzKSBpcyBub3QgYWxsb3dlZC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIG9mIHRoZSBpbnB1dCBmaWxlIGNvbnRhaW5zIGEgc2luZ2xlIG51bWJlcjogdGhlIG51bWJlciBvZiB0ZXN0IGNhc2VzIHRvIGZvbGxvdy4gRWFjaCB0ZXN0IGNhc2UgaGFzIHRoZSBmb2xsb3dpbmcgZm9ybWF0OjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPk9uZSBsaW5lIHdpdGggYW4gaW50ZWdlciBOPHN1Yj4xPFwvc3ViPiwgc2F0aXNmeWluZyAxICZsZTsgTjxzdWI+MTxcL3N1Yj4gJmxlOyAxMDAwOiB0aGUgbnVtYmVyIG9mIGZpbGVzIHRoYXQgbXVzdCBiZSByZW1vdmVkLjxcL2xpPlxyXG5cdDxsaT5OPHN1Yj4xPFwvc3ViPiBsaW5lcywgZWFjaCB3aXRoIHRoZSBuYW1lIG9mIG9uZSBmaWxlIHRoYXQgbXVzdCBiZSByZW1vdmVkLjxcL2xpPlxyXG5cdDxsaT5PbmUgbGluZSB3aXRoIGFuIGludGVnZXIgTjxzdWI+MjxcL3N1Yj4sIHNhdGlzZnlpbmcgMCAmbGU7IE48c3ViPjI8XC9zdWI+ICZsZTsgMTAwMDogdGhlIG51bWJlciBvZiBmaWxlcyB0aGF0IG11c3Qgbm90IGJlIHJlbW92ZWQuPFwvbGk+XHJcblx0PGxpPk48c3ViPjI8XC9zdWI+IGxpbmVzLCBlYWNoIHdpdGggdGhlIG5hbWUgb2Ygb25lIGZpbGUgdGhhdCBtdXN0IG5vdCBiZSByZW1vdmVkLjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPkVhY2ggZmlsZW5hbWUgaXMgYSBzdHJpbmcgeCB3aXRoIDEgJmxlOyBMZW5ndGgoeCkgJmxlOyAyMCwgY29uc2lzdGluZyBvZiBhbHBoYWJldGljIGNoYXJhY3RlcnMgKHVwcGVyIGNhc2UgYW5kIGxvd2VyIGNhc2UpLCBkaWdpdHMgYW5kXC9vciBwZXJpb2RzLiBUaGF0IGlzLCBjaGFyYWN0ZXJzIGZyb20gdGhlIHNldCB7IEEsIEIsIEMsIC4uLiAsIFosIGEsIGIsIGMsIC4uLiAsIHosIDAsIDEsIDIsIC4uLiwgOSwuIH0uIEFsbCBOPHN1Yj4xPFwvc3ViPiArIE48c3ViPjI8XC9zdWI+IGZpbGUgbmFtZXMgZm9yIGEgdGVzdCBjYXNlIGFyZSBkaWZmZXJlbnQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGV2ZXJ5IHRlc3QgY2FzZSBpbiB0aGUgaW5wdXQsIHRoZSBvdXRwdXQgc2hvdWxkIGNvbnRhaW4gYSBzaW5nbGUgbnVtYmVyLCBvbiBhIHNpbmdsZSBsaW5lOiB0aGUgc21hbGxlc3QgbnVtYmVyIG9mIHJtLWNvbW1hbmRzIHRvIHJlbW92ZSBleGFjdGx5IHRoZSByaWdodCBmaWxlcy48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d