asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T PKNbe[GN7>> analyze.sonuȯELF>@07@8 @ ++ +   ,, , 888$$ Std Ptd,,QtdRtd++ + GNUĠ[W GՇ57uWlE]*U  | i, %F"S<ar __gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizeomp_get_num_threadsomp_get_thread_numGetCacheViewVirtualPixelsConvertRGBToHSLpowGOMP_critical_name_startGOMP_critical_name_end__stack_chk_fail__gcc_personality_v0analyzeImageAcquireVirtualCacheViewGetImagePixelCacheTypeGetMagickResourceLimitGOMP_parallelDestroyCacheViewFormatLocaleStringSetImagePropertyGetImageListLengthSetImageProgressGetNextImageInListsqrt__assert_faillibMagickCore-6.Q16.so.7liblcms2.so.2libraqm.so.0libxml2.so.2libfontconfig.so.1libfreetype.so.6libXext.so.6libSM.so.6libICE.so.6libX11.so.6libXt.so.6libbz2.so.1libz.so.1libltdl.so.7libpthread.so.0libm.so.6libgomp.so.1libgcc_s.so.1libc.so.6analyze.soGLIBC_2.2.5GLIBC_2.4GOMP_4.0GOMP_1.0GCC_3.3.1 ui 0ii ui @#&(& @$& a_& + P, , , / / /  / 0 8/ @/ H/ P/ X/ `/  h/  p/  x/  / / / / / / / / / / / / HH$ HtH52# %3# hhhhhhhhqhah Qh Ah 1h !h hhhhhhh%! D%! D%! D%! D%! D%! D%! D%! D%! D%! D%! D%! D%}! D%u! D%m! D%e! D%]! D%U! D%M! D%E! D%=! DH=a! HZ! H9tH.! Ht H=1! H5*! H)HHH?HHtH HtfD= u+UH= Ht H= d ]wAWAVAUATUSH8LoH|$(dH %(H$(1HcLcIE0HHI9XLILHD$0I9HD$(HpHHD$@HD$pHD$H$HD$HD$hHt$8HD$ %f.HD$(@(IL9d$0HD$(@(tIM(LL$@L1H|$8A;HHtH|$1 I}(HH|$ HHD$XLd$H1L|$`HD$fDTtMA|LL$ HL$y YD$hLt$D$hfII*I AXF AF ItD$h0 YD$`ALt$D$`fII*IAXF AF It D$`АHI9](2Ld$HH HHD$(Ht$H|$HH HPD XD D D XD D HHuHIL9d$0HDH$(dH3%(uH8[]A\A]A^A_H1#AWAVAUATUSHH $HHdH%(H$81HHHH93HD$pIHD$8H$0HD$H$L%^HD$HD$@HD$ H|$1 LHH|$ HHHLs0IHH HHD$Ht$ 1H=Ll$PHD$XHD$H\$HHD$`L|$@D$hLDt$hHC(HfH*HC0HfH*YLH$^L$$HH5Hl$f$$f(^^Y^\f.Qf(LH$ HH5H8$f(fTf/E$LHHH5mHf$f.$LHjHH5;HLH$^D$$+HH5HYt$f$$f(^^Y^\f.Qf(LH$HH5[H$f(fTf/v$LHbHH5eH$f(fTKf/#$ LHHH5-H=H8t*HD$8HHT$8H5HHtH1HHtEHHHuH$8dH3 %(pHH[]A\A]A^A_fHtHMIN?IIHIH9$d$$YY$^^\f(XYYXf(YY^$ D$d$$YY$^^\_YYY$^%JXf(YYYY\f(YYY^\$$|$$YY$^^\f(XYYXf(YY^$D$|$q%y$YY$^^\GYYY$^Xf(YYYY\f(YYY^\$$HƒfHH H*XfHƒfHH H*XfvHWvHL$QHL$H9E74HL$!HL$HL$(UL$(L$(?L$(=H H5\H=gH H5=H=bH H5H=HHfilters/analyze.cimages != (Image **) NULL*images != (Image *) NULL%gfilter:brightness:meanfilter:brightness:kurtosisfilter:brightness:skewnessfilter:saturation:meanfilter:saturation:kurtosisfilter:saturation:skewnessFilter/Analyze(*images)->signature == MagickCoreSignaturefilter:brightness:standard-deviationfilter:saturation:standard-deviationanalyzeImage@-q=@@@;,pHpzRx $ `FJ w?:*3$"DXPzPLRx  P$0FBB B(A0A8G 8A0A(B BBBA PFBB B(A0A8G L# 8A0A(B BBBC GNUP, !4ER]iu + , o`   /    oohoo0o,  0 @ P ` p  0 @ GA$3a1  GA$3p1113`GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFY`GA+GLIBCXX_ASSERTIONSanalyze.so-6.9.13.25-1.el8.x86_64.debug3d7zXZִF!t/6]?Eh=ڊ2NHO6 +p)o·]]L;gP5)]RiiƮp[DJp`nEIg;8mSAL"пJӉwTLNr<"bhme8Vx\liM(41\0(~=!m&h@txi5ѹ%$WD#< 0Ӭ;]٤C,,#XhC4lW,EՈ5iNXY׺CIYBV؍vU!_P|y7%էb)U\k, V0|ĢFU{R)f֗ ة K% |wEfBS1ٌUjؔ}ױΎ䃭,UQ5L,tco;Uq2z@be/!.7=tB1[2x }5k]gf9r(s;M\""グӒ҆:.. YP;(CWx-- h a?Y8Kr3:o`JΙB͓jI$>^kn5?*1NO?ke3o@fAZp)y`a/ap < .>zjm wդEV/I8&!SZxNީojnӤBaxHg*Ja׊f4{7]ƺ:$҇ۮ{d{QP\xHc[ UyϮ[!?0F)Pm1egYZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.gcc_except_table.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata 88$o``$( 08o006EohhT  ^B h c `nP P Pw } ,$ + +, ,, ,, , / /0 00 00`0HP2,+|2x5:PKNbe[P6CC analyze.lanu[# analyze.la - a libtool library file # Generated by libtool (GNU libtool) 2.4.7 # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='analyze.so' # Names of this library. library_names='analyze.so analyze.so analyze.so' # The name of the static archive. old_library='' # Linker flags that cannot go in dependency_libs. inherited_linker_flags=' -pthread -fopenmp' # Libraries that this one depends upon. dependency_libs=' /usr/lib64/libMagickCore-6.Q16.la -llcms2 -lraqm -lxml2 -lfontconfig -lfreetype -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lltdl -lpthread -lm' # Names of additional weak libraries provided by this library weak_library_names='' # Version information for analyze. current=0 age=0 revision=0 # Is this an already installed library? installed=yes # Should we warn about portability when linking against -modules? shouldnotlink=yes # Files to dlopen/dlpreopen dlopen='' dlpreopen='' # Directory that this library needs to be installed in: libdir='/usr/lib64/ImageMagick-6.9.13/modules-Q16/filters' PKe[a \#source/source-highlight-filter.confnu[# # AsciiDoc source code highlight filter configuration file. # # Documented in source-hightlight-filter.txt in AsciiDoc distribution # ./examples/website/ directory. # # HTML outputs require GNU source-highlight (xhtml11, html4 outputs) # http://www.gnu.org/software/src-highlite/source-highlight.html # # or Pygments (xhtml11 outputs): # http://pygments.org/ # # GNU source-hightlight is default, define the 'pygments' attribute to use # Pygments. # ######################## # Source block templates ######################## [source-highlight-block] template::[listingblock] ifdef::basebackend-html[] [source-highlight-block]

{title}

{source-highlighter$highlight:}

|
{source-highlighter$highlight:}
endif::basebackend-html[] ifdef::basebackend-xhtml11,basebackend-html5[] [source-highlight-block]
{caption=}{title}
{source-highlighter$highlight:}

|
{source-highlighter$highlight:}
endif::basebackend-xhtml11,basebackend-html5[] # Use DocBook programlisting element. ifdef::basebackend-docbook[] [source-highlight-block] {title} {title#} {title%} | {title#} endif::basebackend-docbook[] # Source styles template. ifdef::basebackend-html[] [source-filter-style] ifeval::["{source-highlighter}"=="source-highlight"] source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered","src_tab"),filter="source-highlight --gen-version -f xhtml -s {language} {src_numbered?--line-number=' '} {src_tab?--tab={src_tab}} {args=}" endif::[] ifeval::["{source-highlighter}"=="highlight"] source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered","src_tab"),filter="highlight --no-doc --inline-css --out-format=xhtml --syntax={language@python:py:{language}} {src_numbered?--line-number} {src_tab?--tab={src_tab}} --encoding={encoding} {args=}" endif::[] ifeval::["{source-highlighter}"=="pygments"] source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered"),filter="pygmentize -f html -l {language} {src_numbered?-O linenos=table} {encoding?-O encoding={encoding}} {args=}" endif::[] # DEPRECATED: 'pygments' attribute. ifdef::pygments[] source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered"),filter="pygmentize -f html -l {language} {src_numbered?-O linenos=table} {encoding?-O encoding={encoding}} {args=}" endif::[] endif::basebackend-html[] ifdef::basebackend-html4[] [source-filter-style] # html4 does not use pygments. ifeval::["{source-highlighter}"=="source-highlight"] source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered","src_tab"),filter="source-highlight --gen-version -f html -s {language} {src_numbered?--line-number=' '} {src_tab?--tab={src_tab}} {args=}" endif::[] ifeval::["{source-highlighter}"=="highlight"] source-style=template="source-highlight-block",presubs=(),postsubs=("callouts",),posattrs=("style","language","src_numbered","src_tab"),filter="highlight --no-doc --inline-css --out-format=html --syntax={language@python:py:{language}} {src_numbered?--line-number} {src_tab?--tab={src_tab}} {args=}" endif::[] endif::basebackend-html4[] ifdef::basebackend-docbook[] [source-filter-style] source-style=template="source-highlight-block",presubs=(),postsubs=("specialcharacters","callouts"),posattrs=("style","language","src_numbered","src_tab") endif::basebackend-docbook[] ######################### # Source paragraph styles ######################### [paradef-default] template::[source-filter-style] [paradef-literal] template::[source-filter-style] ######################### # Source block styles ######################### [blockdef-open] template::[source-filter-style] [blockdef-listing] template::[source-filter-style] # # DEPRECATED: Pre 8.2.7 filter definition. # ######################### # Source block definition ######################### [blockdef-source-highlight] # The old ^ delimiter is for backward compatibility, may be removed from # in future versions. delimiter=(^source~{4,}$)|(^\^{4,}$) template=source-highlight-block presubs=none posattrs=language,src_numbered,src_tab ifndef::basebackend-docbook[] postsubs=callouts # GNU Source Highlight filter. filter=source-highlight -f {basebackend-xhtml11?xhtml}{basebackend-html4?html} -s {language} {src_numbered?--line-number} {src_tab?--tab={src_tab}} endif::basebackend-docbook[] ifdef::basebackend-docbook[] postsubs=specialcharacters,callouts # In the case of DocBook just pass the listing through and let the DocBook # toolchain handle it. filter= endif::basebackend-docbook[] # # DEPRECATED: End # PKe[!%code/code-filter.confnu[# # AsciiDoc code filter configuration file. # # Documented in code-filter-readme.txt # [blockdef-listing] code-style=template="listingblock",presubs=(),postsubs=("callouts",),posattrs=("style","language"),filter="code-filter.py -b {basebackend} -l {language}" PKe[code/code-filter.pynuȯ#!/usr/libexec/platform-python ''' NAME code-filter - AsciiDoc filter to highlight language keywords SYNOPSIS code-filter -b backend -l language [ -t tabsize ] [ --help | -h ] [ --version | -v ] DESCRIPTION This filter reads source code from the standard input, highlights language keywords and comments and writes to the standard output. The purpose of this program is to demonstrate how to write an AsciiDoc filter -- it's much to simplistic to be passed off as a code syntax highlighter. Use the 'source-highlight-filter' instead. OPTIONS --help, -h Print this documentation. -b Backend output file format: 'docbook', 'linuxdoc', 'html', 'css'. -l The name of the source code language: 'python', 'ruby', 'c++', 'c'. -t tabsize Expand source tabs to tabsize spaces. --version, -v Print program version number. BUGS - Code on the same line as a block comment is treated as comment. Keywords inside literal strings are highlighted. - There doesn't appear to be an easy way to accomodate linuxdoc so just pass it through without markup. AUTHOR Written by Stuart Rackham, URLS http://sourceforge.net/projects/asciidoc/ http://asciidoc.org/ COPYING Copyright (C) 2002-2006 Stuart Rackham. Free use of this software is granted under the terms of the GNU General Public License (GPL). ''' import os, sys, re VERSION = '1.1.2' # Globals. language = None backend = None tabsize = 8 keywordtags = { 'html': ('',''), 'css': ('',''), 'docbook': ('',''), 'linuxdoc': ('','') } commenttags = { 'html': ('',''), 'css': ('',''), 'docbook': ('',''), 'linuxdoc': ('','') } keywords = { 'python': ('and', 'del', 'for', 'is', 'raise', 'assert', 'elif', 'from', 'lambda', 'return', 'break', 'else', 'global', 'not', 'try', 'class', 'except', 'if', 'or', 'while', 'continue', 'exec', 'import', 'pass', 'yield', 'def', 'finally', 'in', 'print'), 'ruby': ('__FILE__', 'and', 'def', 'end', 'in', 'or', 'self', 'unless', '__LINE__', 'begin', 'defined?' 'ensure', 'module', 'redo', 'super', 'until', 'BEGIN', 'break', 'do', 'false', 'next', 'rescue', 'then', 'when', 'END', 'case', 'else', 'for', 'nil', 'retry', 'true', 'while', 'alias', 'class', 'elsif', 'if', 'not', 'return', 'undef', 'yield'), 'c++': ('asm', 'auto', 'bool', 'break', 'case', 'catch', 'char', 'class', 'const', 'const_cast', 'continue', 'default', 'delete', 'do', 'double', 'dynamic_cast', 'else', 'enum', 'explicit', 'export', 'extern', 'false', 'float', 'for', 'friend', 'goto', 'if', 'inline', 'int', 'long', 'mutable', 'namespace', 'new', 'operator', 'private', 'protected', 'public', 'register', 'reinterpret_cast', 'return', 'short', 'signed', 'sizeof', 'static', 'static_cast', 'struct', 'switch', 'template', 'this', 'throw', 'true', 'try', 'typedef', 'typeid', 'typename', 'union', 'unsigned', 'using', 'virtual', 'void', 'volatile', 'wchar_t', 'while') } block_comments = { 'python': ("'''","'''"), 'ruby': None, 'c++': ('/*','*/') } inline_comments = { 'python': '#', 'ruby': '#', 'c++': '//' } def print_stderr(line): sys.stderr.write(line+os.linesep) def sub_keyword(mo): '''re.subs() argument to tag keywords.''' word = mo.group('word') if word in keywords[language]: stag,etag = keywordtags[backend] return stag+word+etag else: return word def code_filter(): '''This function does all the work.''' global language, backend inline_comment = inline_comments[language] blk_comment = block_comments[language] if blk_comment: blk_comment = (re.escape(block_comments[language][0]), re.escape(block_comments[language][1])) stag,etag = commenttags[backend] in_comment = 0 # True if we're inside a multi-line block comment. tag_comment = 0 # True if we should tag the current line as a comment. line = sys.stdin.readline() while line: line = line.rstrip() line = line.expandtabs(tabsize) # Escape special characters. line = line.replace('&','&') line = line.replace('<','<') line = line.replace('>','>') # Process block comment. if blk_comment: if in_comment: if re.match(r'.*'+blk_comment[1]+r'$',line): in_comment = 0 else: if re.match(r'^\s*'+blk_comment[0]+r'.*'+blk_comment[1],line): # Single line block comment. tag_comment = 1 elif re.match(r'^\s*'+blk_comment[0],line): # Start of multi-line block comment. tag_comment = 1 in_comment = 1 else: tag_comment = 0 if tag_comment: if line: line = stag+line+etag else: if inline_comment: pos = line.find(inline_comment) else: pos = -1 if pos >= 0: # Process inline comment. line = re.sub(r'\b(?P\w+)\b',sub_keyword,line[:pos]) \ + stag + line[pos:] + etag else: line = re.sub(r'\b(?P\w+)\b',sub_keyword,line) sys.stdout.write(line + os.linesep) line = sys.stdin.readline() def usage(msg=''): if msg: print_stderr(msg) print_stderr('Usage: code-filter -b backend -l language [ -t tabsize ]') print_stderr(' [ --help | -h ] [ --version | -v ]') def main(): global language, backend, tabsize # Process command line options. import getopt opts,args = getopt.getopt(sys.argv[1:], 'b:l:ht:v', ['help','version']) if len(args) > 0: usage() sys.exit(1) for o,v in opts: if o in ('--help','-h'): print(__doc__) sys.exit(0) if o in ('--version','-v'): print('code-filter version %s' % (VERSION,)) sys.exit(0) if o == '-b': backend = v if o == '-l': v = v.lower() if v == 'c': v = 'c++' language = v if o == '-t': try: tabsize = int(v) except: usage('illegal tabsize') sys.exit(1) if tabsize <= 0: usage('illegal tabsize') sys.exit(1) if backend is None: usage('backend option is mandatory') sys.exit(1) if backend not in keywordtags: usage('illegal backend option') sys.exit(1) if language is None: usage('language option is mandatory') sys.exit(1) if language not in keywords: usage('illegal language option') sys.exit(1) # Do the work. code_filter() if __name__ == "__main__": try: main() except (KeyboardInterrupt, SystemExit): pass except: print_stderr("%s: unexpected exit status: %s" % (os.path.basename(sys.argv[0]), sys.exc_info()[1])) # Exit with previous sys.exit() status or zero if no sys.exit(). sys.exit(sys.exc_info()[1]) PKe[a$graphviz/graphviz-filter.confnu[# # AsciiDoc Graphviz filter configuration file. # # Version: 1.0 # Gouici Iisaka [graphviz-filter-style] # When the filter output image is data-uri encoded write it to the indir # (instead of the outdir) so that encoder can find it. ifndef::data-uri[] graphviz-style=template="graphviz{format?-{format}}-block",subs=(),posattrs=("style","target","layout","format"),filter='graphviz2png.py {verbose?-v} -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" -L {layout=dot} -F {format=png} -' endif::data-uri[] ifdef::data-uri[] graphviz-style=template="graphviz{format?-{format}}-block",subs=(),posattrs=("style","target","layout","format"),filter='graphviz2png.py {verbose?-v} -o "{indir={outdir}}/{imagesdir=}{imagesdir?/}{target}" -L {layout=dot} -F {format=png} -' endif::data-uri[] [blockdef-open] template::[graphviz-filter-style] [blockdef-listing] template::[graphviz-filter-style] [paradef-default] template::[graphviz-filter-style] [graphviz-block] template::[filter-image-blockmacro] # EXPERIMENTAL: xhtml11 backend SVG image block. ifdef::basebackend-xhtml11[] [graphviz-svg-block]
{link#}
{caption={figure-caption} {counter:figure-number}. }{title}
endif::basebackend-xhtml11[] # # DEPRECATED: Pre 8.2.7 filter definition. # [blockdef-graphviz] delimiter=^graphviz~{4,}$ template=graphviz-block presubs=none filter=graphviz2png.py {verbose?-v} -o "{outdir={indir}}/{target}" -L {layout=dot} - posattrs=target,format # # DEPRECATED: End # PKe[ 4graphviz/graphviz2png.pynuȯ#!/usr/libexec/platform-python import os, sys, subprocess from optparse import * __AUTHOR__ = "Gouichi Iisaka " __VERSION__ = '1.1.4' class EApp(Exception): '''Application specific exception.''' pass class Application(): ''' NAME graphviz2png - Converts textual graphviz notation to PNG file SYNOPSIS graphviz2png [options] INFILE DESCRIPTION This filter reads Graphviz notation text from the input file INFILE (or stdin if INFILE is -), converts it to a PNG image file. OPTIONS -o OUTFILE, --outfile=OUTFILE The file name of the output file. If not specified the output file is named like INFILE but with a .png file name extension. -L LAYOUT, --layout=LAYOUT Graphviz layout: dot, neato, twopi, circo, fdp Default is 'dot'. -F FORMAT, --format=FORMAT Graphviz output format: png, svg, or any other format Graphviz supports. Run dot -T? to get the full list. Default is 'png'. -v, --verbose Verbosely print processing information to stderr. -h, --help Print this documentation. -V, --version Print program version number. SEE ALSO graphviz(1) AUTHOR Written by Gouichi Iisaka, Format support added by Elmo Todurov, THANKS Stuart Rackham, This script was inspired by his music2png.py and AsciiDoc LICENSE Copyright (C) 2008-2009 Gouichi Iisaka. Free use of this software is granted under the terms of the GNU General Public License (GPL). ''' def __init__(self, argv=None): # Run dot, get the list of supported formats. It's prefixed by some junk. format_output = subprocess.Popen(["dot", "-T?"], stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate()[1].decode('utf-8') # The junk contains : and ends with :. So we split it, then strip the final endline, then split the list for future usage. supported_formats = format_output.split(": ")[2][:-1].split(" ") if not argv: argv = sys.argv self.usage = '%prog [options] inputfile' self.version = 'Version: %s\n' % __VERSION__ self.version += 'Copyright(c) 2008-2009: %s\n' % __AUTHOR__ self.option_list = [ Option("-o", "--outfile", action="store", dest="outfile", help="Output file"), Option("-L", "--layout", action="store", dest="layout", default="dot", type="choice", choices=['dot','neato','twopi','circo','fdp'], help="Layout type. LAYOUT="), Option("-F", "--format", action="store", dest="format", default="png", type="choice", choices=supported_formats, help="Format type. FORMAT=<" + "|".join(supported_formats) + ">"), Option("--debug", action="store_true", dest="do_debug", help=SUPPRESS_HELP), Option("-v", "--verbose", action="store_true", dest="do_verbose", default=False, help="verbose output"), ] self.parser = OptionParser( usage=self.usage, version=self.version, option_list=self.option_list) (self.options, self.args) = self.parser.parse_args() if len(self.args) != 1: self.parser.print_help() sys.exit(1) self.options.infile = self.args[0] def systemcmd(self, cmd): if self.options.do_verbose: msg = 'Execute: %s' % cmd sys.stderr.write(msg + os.linesep) else: cmd += ' 2>%s' % os.devnull if os.system(cmd): raise EApp('failed command: %s' % cmd) def graphviz2png(self, infile, outfile): '''Convert Graphviz notation in file infile to PNG file named outfile.''' outfile = os.path.abspath(outfile) outdir = os.path.dirname(outfile) if not os.path.isdir(outdir): raise EApp('directory does not exist: %s' % outdir) basefile = os.path.splitext(outfile)[0] saved_cwd = os.getcwd() os.chdir(outdir) try: cmd = '%s -T%s "%s" > "%s"' % ( self.options.layout, self.options.format, infile, outfile) self.systemcmd(cmd) finally: os.chdir(saved_cwd) if not self.options.do_debug: os.unlink(infile) def run(self): if self.options.format == '': self.options.format = 'png' if self.options.infile == '-': if self.options.outfile is None: sys.stderr.write('OUTFILE must be specified') sys.exit(1) infile = os.path.splitext(self.options.outfile)[0] + '.txt' lines = sys.stdin.readlines() open(infile, 'w').writelines(lines) if not os.path.isfile(infile): raise EApp('input file does not exist: %s' % infile) if self.options.outfile is None: outfile = os.path.splitext(infile)[0] + '.png' else: outfile = self.options.outfile self.graphviz2png(infile, outfile) # To suppress asciidoc 'no output from filter' warnings. if self.options.infile == '-': sys.stdout.write(' ') if __name__ == "__main__": app = Application() app.run() PKNbe[GN7>> analyze.sonuȯPKNbe[P6CC >analyze.lanu[PKe[a \#gCsource/source-highlight-filter.confnu[PKe[!%Xcode/code-filter.confnu[PKe["Zcode/code-filter.pynuȯPKe[a$xgraphviz/graphviz-filter.confnu[PKe[ 4Fgraphviz/graphviz2png.pynuȯPKT