Find the text and apply the format paragraph tag in Framemaker 11

Help!

I am trying to automate the search text in a file FM11 and CE marking with a specific paragraph tag. Once it is, I want to be able to search for the same string again and delete it. The research will include wildcard characters. I'm moving Word files on and bring with manual numbering of paragraphs. Thus, when they arrive, they "2.3.4.5" before paragraphs for example. I want to search all of the numbers at the beginning of paragraphs, tag all those with the appropriate para format (starting a catalog) and then remove the manual numbering.

At this time do us it manually, using find/replace and by using wildcard search strings to find (such as '\P[1-9]*.*.*.*[0-9]', which will find all the para numbering at the beginning of a paragraph 4-digit), then using the change option to paste to paste in a paragraph of the catalog tag. Then we repeat the same search and delete the text, leaving only the tag para to the number format. It works very well, but errors can occur if the search string in set incorrectly or if the numbers are not deleted (in this case, it is found on the next search and re-labeled incorrectly). For example

I work for the Air Force collection of entries from the field and creating publications out of them, so there is no mobile profit here, just trying to be efficient. Any help is greatly appreciated!

Thanks in advance

b

Hi Brian,.

I guess right here because I've never done this before, but... In my view, there is definitely something wrong with your mission to find the property values. The way you wrote, you are trying to assign two properties to a single table space. That's why you need to remove these two lines to make him find work, because they are replacing the FindText property apparently. Here is my proposal for how it should be:

findParams = AllocatePropVals (2);

findParams [0].propIdent.num = Constants.FS_FindText;

findParams [0].propVal.valType = Constants.FT_String;

findParams [0].propVal.sval = searchString.

findParams [1].propIdent.num = Constants.FS_FindCustomizationFlags;

findParams [1].propVal.valType = Constants.FT_Integer;

findParams [1].propVal.ival = Constants.FF_FIND_USE_WILDCARDS;

In any case, let me point out again once it is a hypothesis and I did not test this. I am sure, however, that the solution is somewhere along this path.

Russ

Tags: Adobe FrameMaker

Similar Questions

  • Find the first paragraph of each specific chained text block...

    Hi all

    I have this kind of layout:

    Capture d’écran 2015-08-27 à 10.46.02.png

    Capture d’écran 2015-08-27 à 10.46.20.png

    ... with several groups of text blocks chained [red, green,...].

    I want to find in the identity document all the first para of each text block defined by a "BLOCK of TEXT GREEN" object style and apply a paragraph style "GREEN PARA STYLE while FIRST THE block"! as:

    Capture d’écran 2015-08-27 à 10.47.01.png

    Thank you much for the help!

    Here is a new version:

    main();
    
    function main() {
        if (app.documents.length > 0) {
            var story, containers, container,
            doc = app.activeDocument,
            stories = doc.stories;
    
            try {
                app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
                app.findTextPreferences.appliedParagraphStyle = doc.paragraphStyles.item("GREEN PARA STYLE FIRST ON BLOCK");
                app.changeTextPreferences.appliedParagraphStyle = doc.paragraphStyles.item("GREEN PARA STYLE");
                doc.changeText();
                app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
            }
            catch(err) {
                $.writeln(err.message + ", line: " + err.line);
            }
    
            for (var i = 0; i < stories.length; i++) {
                story = stories[i];
                containers = story.textContainers;
                if (containers.length > 1) { // process only chained text blocks
                    for (var j = 0; j < containers.length; j++) {
                        container = containers[j];
                        if (container.appliedObjectStyle.name == "GREEN TEXT BLOCK") {
                            try { // if the style or the 1st paragraph is missing, write error message to console and continue
                                container.paragraphs[0].appliedParagraphStyle = doc.paragraphStyles.item("GREEN PARA STYLE FIRST ON BLOCK");
                            }
                            catch(err) {
                                $.writeln(err.message + ", line: " + err.line);
                            }
                        }
                    }
                }
            }
        }
        else {
            alert("Please open a document and try again.", "Error", true);
        }
    }
    
  • How to find the entire paragraph?

    Hi all

    How to find a Word and get a paragraph parent password.

    Kind regards

    Learner

    Try the code below

    myDoc var = app.activeDocument;

    var page = myDoc.pages;

    for (var i = 0; i)<>

    var pages [i] = page;

    var pageItems = page.textFrames;

    for (var j = 0; j)<>

    app.findGrepPreferences = NothingEnum.nothing;

    app.changeGrepPreferences = NothingEnum.nothing;

    app.findGrepPreferences.findWhat = "word";

    var myWord;

    myWord = pageItems [j] .findGrep ();

    for (var k = 0; k)< myword.length;="">

    Alert (myWord [i] .insertionPoints [0] .paragraphs [0] .silence)

    }

    }

    }

  • Find all the numbers between 100.0 75.0 and apply "BOLD" format using GREP

    I am trying to find each number in multiple documents between 75.0% and 100.0% and change their "BOLD" format. Is there a GREP code for this or maybe a script code? Thank you!

    -J

    How is this:

    ((8\d{1}\.*\d*)| (9\d{1}\.*\d*)| (7 (5: 6: 7: 8: 9)). 100) %

    It worked on my sample.

    As changed search was actually my first soultion, but I tried to consoidate. He has worked on all the numbers in my first example, but failed on the number 88% on my second try.

  • Find the Format, Font Style, character Style, Find and change, Javascript or Applescript

    I'm trying my first cry to a script and I need help. I downloaded all kinds of example, but most are too elaborate.

    Here's what I'm trying to do:

    A search/replace, then the Find Format (Formats of basic characters; Font style "Italic")

    Then

    Change in Format (character Style; 'my style')

    I tried to create this in Applescript and ExtendScriptToolkit.

    Yesterday, I read intro Adobes Script PDF... Now, I don't know if I am more confused or understand what is happening.

    Here is my attempt-

    {

    cstyle = app.activeDocument.characterStyles.add({name:simple_italic});)

    If (italic) cstyle.fontStyle = app.findTextPreferences.fontStyle;

    }

    }

    app.changeTextPreferences.appliedCharacterStyle = simple_italic;

    app.activeDocument.selection [0].parent.changeText (false);

    }

    Is - this even close?

    Thank you, T-

    Screen Shot 2012-08-17 at 1.12.14 AM.png

    Screen Shot 2012-08-17 at 1.11.05 AM.png

    Screen Shot 2012-08-17 at 1.11.43 AM.png

    I found my own answer... Thank you guys!

    {

    If (StyleName == "")

    {

    Make up a name

    If (in bold)

    StyleName = "simple_bold";

    If (italic)

    {

    If (in bold)

    StyleName = "simple_bold_italic";

    on the other

    StyleName = "simple_italic";

    }

  • Help find text and apply INDEXES

    Hi Forum,

    I m trying to apply INDEXES of the words founded in one click the button"of the created user interface.

    Is this possible.

    It's my test.

    app.findGrepPreferences = app.changeGrepPreferences = null;

    doc = app.activeDocument.stories.everyItem ();

    app.findGrepPreferences.findWhat = "policy";

    found = app.documents [0] .findGrep ();

    for (i = 0; i > found.length; i ++) {}

    FND = found [i];

    If (found.length > 0)

    doc. Indexes [0] .topics. Add (found);

    App.Select [found];

    doc.pageReferences.add (found [i], PageReferenceType.currentPage);

    }

    Thank you and best regards,

    rkids

    Hi rajnikids,

    I'm new to javascript.

    Try this

    app.findGrepPreferences = app.changeGrepPreferences = null;

    doc = app.activeDocument.stories.everyItem ();

    app.findGrepPreferences.findWhat = "policy";                                                         the text you are looking for

    myTopic = app.activeDocument.indexes.add (). topics.add ({name: 'Policy'});       Add topic

    founded = app.documents [0] .findGrep ();

    for (i = 0; i

    found = based [i];

    App.Select (found);

    myTopic.pageReferences.add (found, PageReferenceType.currentPage);

    }

  • How to find the formats of files of the tracks?

    How is - a determines the file format of any piece of music imported into WMP?

    If this should be obvious?

    Any help would be appreciated.

    Jim

    See to see which Codec is used

    Media Player

     

    To see if a fix is available

    If there is an accident.

    In Control Panel (and select Classic view in the left pane) select Problem Reports and Solutions (problem of type in the START search box), go to problem history, right-click your error and choose Check for Solution.

    You can also right-click and choose details for more information. Post the details here . The default Module name is the important information.

    Get the error Code

    When you try to read the file and it cannot be played, you should get a dialog offering Help on the Web. The latter contains the details of the error. View the web address need you as if we read too.

    What Codecs are installed

    This list codec Media Player is installed and the file extension.

    In Media Player, tap on Alt + H and then on Windows Media Player, Support information.

    To see which Codec is used

    While playing the file right click on the Now Playing pane, and then select properties of . On the file tab lists the codecs used. If Now Playing pane is not displayed right click now plays on the command bar and the tick view the list pane.

    Turn off Codecs

    Download Autoruns http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx

    Launch the program and click on menu Options - Filter Options and tick entries hide Microsoft.

    If you have identified a codec first disable this one. Otherwise, go to the Codecs tab uncheck one by one and see if you can read the file. Restart the Media Player before trying to read the file.

    Media Player Fixit

    Click on game games, music or sounds, images or video and see the Fix Windows Media Player video and other media or library issues Fixit.

    http://support.Microsoft.com/mats/video_freezes_or_crashes/en-us

    and

    http://support.Microsoft.com/mats/windows_media_player_diagnostic/en-us

    For the visit of the list the most comprehensive

    http://support.Microsoft.com/FixIt/en-us

    When you choose to download, choose the option to run on another computer. You can then save it to a folder on your hard drive. Open the folder, open the folder solve this laptop and run run Fix It. It will contain all the FixIt 27.

    Registration of the components of Media Player

    Try also to record Media Player components and the removal of the database.

    Start - All Programs - Accessories - invites a right-click and choose Run As Administrator. Type (or copy and paste by clicking in the command prompt window and choose Paste).

    SC Stop WMPNetworkSvc

    regsvr32 "" C:\Program Files\Windows Media Player\mpvis. "» DLL.

    regsvr32 "C:\Program Files\Windows Media Player wmpband.dll"

    regsvr32 "C:\Program Files\Windows Media Player\wmpsyncmgr.dll.

    regsvr32 "C:\Program Files\Windows Media Player\wmpnssci.dll.

    "C:\Program Files\Windows Media Player\w1mlaunch.exe" / reg

    "C:\Program Files\Windows Media Player\wmpconfig.exe" / reg

    "C:\Program Files\Windows Media Player\wmpnetwk.exe" / reg

    "C:\Program Files\Windows Media Player\wmpshare.exe" / reg

    Del "% userprofile%\CurrentDatabase_*.wmdb" "% userprofile%\LocalMLS_*.wmdb" / a/s

    SC start WMPNetworkSvc

    Download Codecs automatically

    In Media Player right click tab on the command bar playing - More Options - tab Player - automatically download Codecs.

    Install a codec Pack

    It can use an unusual codec (most are MS and built into windows). See http://en.wikipedia.org/wiki/K-Lite_Codec_Pack#Supported_file_formats for other codecs.

    Some specific problems

    This blog by one of the programmers list of known issues.

    http://zachd.com/PSS/PSS.html

    Definition of Media Player as default player

    In Control Panel (and select Classic view in the left hand pane) select default programs from . Choose Media Player Set Your Default Programs and Set Program Access and Computer Defaults. The other two options are to address what playing a specific file type and what happens when you insert the support of.

    Repair of DirectShow

    This utility is trying to fix the filters with defective instalation. Try just so desperate.

    Download filmerit_30en.zip http://paul.glagla.free.fr/filmerit_en.htm. Directions foruseareon the page.

  • Disk utility finds several files and folders after formatting external hard drive

    It is somewhat an Enigma to me. I bought an external hard drive that I wanted to use to store my Time Machine backups. I formatted in Mac OS extended (journaled case-sensitive) without any problems, however, I noticed that disk utility indicated that I had 18 and 59 files (space used = 448,1 Mb)!  I ejected the disc, it reconnected and utility found 64-19 records to disc now! How is that possible? What is going on?  I used the 'diskutil list' command on the Terminal, and I found the following:

    / dev/disk2

    #: NAME SIZE TYPE IDENTIFIER

    0: GUID_partition_scheme * GB 500,1 disk2

    1: disk2s1 EFI EFI 209.7 MB

    2: Apple_HFS disk2s2 backup 499,8 Gb

    I see there are 2 partitions, even if I made a partition during formatting of the drive.  I don't know if this 'normal' or if I'm doing something wrong. I would be very happy any help you can give! Thank you very much!

    It's normal. new disc format have information. When you start the firmware queries drives to see what is on them to find if they ae bootable

  • Photo Story 3 blurs the text and format of appropriate background music

    I had a lot of trouble with a blurry text on Photo Story 3. It seems perfectly fine to start, and then whenever I saw it, it's blurred beyond belief. In addition, I don't know the type of music format for the background music. What can I do to fix the text, and what file format do I for the background music?

    Many different audio formats would work but the best
    choice is always WMA or WAV. Sometimes, it can
    having problems when you save a project as a result of the use of certain
    audio formats.

    As for your photos... If nothing else... to enlarge a
    size at least equal to your screen resolution.

    That will probably not improve the appearance of the
    photos, but it will improve the text (fuzzy) pixelated
    problem.

    First of all, lets you know what is the resolution of your screen. Right
    Click your desktop, then choose Properties / Settings tab...
    Watch the screen resolution slider to see your current
    Resolution of the screen. For this tutorial, let's say your screen
    The resolution is 1024 x 768.

    If you download and install the free Win XP ImageResizer
    PowerToy it will add a 'Resize' option to the right click
    menu.

    Can resize the following free PowerToy for Windows XP
    lots of photos very quickly:

    Click on the following link and on the left, click PowerToys...

    Windows XP downloads
    http://Windows.Microsoft.com/en-us/Windows/downloads/Windows-XP

    (FWIW... it's always a good idea to create a system)
    Restore point before installing software or updates)

    Download and install: ImageResizer.exe
    (Filename: ImageResizerPowertoySetup.exe)
    (does not work on Vista)

    Now you can open any folder containing images and
    you will have an option to resize. Just right-click the selected
    (highlighted) image files and choose resize images of
    the menu. You can select a picture or an entire group.

    The program puts in the folder with resized copies
    your originals.

    (Tip: * never * crush your originals... especially if you were)
    resizing of the originals to a smaller size)

    Resized copies will the custom word added to the
    file name so that they will not be easy to find when you are ready to add
    paste them into your photo story project.

    To ensure that images in the orientation to portrait and landscape
    are resized to the same size... go to... Advanced... and
    tick... Customize... Enter the largest number in these two areas.

    IOW... in this tutorial assuming that the screen resolution 1024 x 768...
    Enter 1024 in these two areas.

    The maximum number of Photo Story 3 photos can just a Council...
    handle is 300 and if you use a lot of movement and Transitions a
    smallest of the numbers is recommended.

    Well, the next gift can change the duration of the photos
    in an existing one. WP3 project... it can also delete... Motion and
    Transitions and also randomize the slides.

    TweakPS
    http://www.windowsphotostory.com/TweakPS

    More info on the following sites:

    WindowsPhotoStory.com
    http://www.windowsphotostory.com/

    PapaJohn
    http://Papajohn.org/
    See Photo Story 3 in the left column

    See you soon...

  • I've updated all paragraph styles in my site, but the code is not generating of heading and paragraph tags.  Help!

    Try to increase the SEO on my site of Muse.  I didn't know I could implement paragraph styles when I first built the site.  Just went and built styles but the generated HTML map includes all the text in the img tags instead of the header/paragraph tags.  Help!

    For me it looks like you are using non-InDesign. If they are not web fonts or you've applied things like a shadow to him, then it will convert the text to a picture in which you can apply tags: for.

    Can you provide a link to the site as well as the mention of what you use the police?

  • How to find the last pasted paragraphs FMP?

    I'm sticking FMP several objects at once in a file (a file of changes to the sections containing the changebars) in the main text flow. I want a separator line to go at the end of each pasted section, so I try to insert one after the paste operation. But instead of a line between each section, all lines are added at the end of the file, after all the sections. So if there are 3 glued sections at the end of the file are three lines. My code is below, do you know how I could fix this?

    Thank you, Mark

    function copyPasteChanges (doc, chgRange) {}

    Select the section with changebar and copy it.

    doc. TextSelection = chgRange;

    doc. Copy();

    Prepare for the changes doc and paste there the modified section.

    var firstChgPgf = changesDoc.MainFlowInDoc.FirstTextFrameInFlow.LastPgf;

    var changesTloc = new TextLoc (firstChgPgf, Constants.FV_OBJ_END_OFFSET);

    var changesTRange = new TextRange (changesTloc, changesTloc);

    changesDoc.TextSelection = changesTRange;

    changesDoc.Paste ();

    To go at the end of the file again (I think)

    var lastPgf = changesDoc.MainFlowInDoc.FirstTextFrameInFlow.LastPgf;

    var dividerPgf = changesDoc.NewSeriesPgf (lastPgf);

    var TLoc = new TextLoc (dividerPgf, 0);

    changesDoc.AddText (TLoc, '_');

    }

    Hi Mark,

    The problem is that the dough does not occur when you think. The dividing line is added at the end of the file, but are not your actions of dough. Actually, I think that maybe a little random where pasta is produced, because this line:

    var changesTloc = new TextLoc (firstChgPgf, Constants.FV_OBJ_END_OFFSET);

    .. .is does not create a valid text location. You can check this by abandoning the service after:

    changesDoc.TextSelection = changesTRange;

    .. and look at where's the insertion point. It will probably be everywhere where you left it last, because the call is not valid. I can't tell you exactly why, except that it has something to do with the fact that you are using the last paragraph in the stream. There is something weird to try to define a range of full-paragraph text with the last paragraph. I'm sure it's related to how the last TFP in a stream does not show a mark of FMP, but beyond that, I don't know how to do what you're trying to do with the last paragraph.

    Having no knowledge of how do it right, any time I need to do this, I create a paragraph "dummy" at the end of the flow to fill that space strange 'last FMP", then do the work around it. In the end, I just want to remove fake TFP. I don't know if it's a good idea or not, but it's the only way I ever get it to work and it sorts the mirror how you could do this manually in the GUI.

    With this, I modified your script as follows, and it seems to work better. Note that I also modified the logic of how to find the last paragraph of the flow by writing a separate function. Your call to the 'FirstTextFrameInFlow' is OK, unless your doc begins to span several pages and/or begins with several empty pages. The function I wrote ensures that you really the last TFP in the stream.

    I hope this helps.

    Russ

    function copyPasteChanges (doc, chgRange) {}

    Select the section with changebar and copy it.

    doc. TextSelection = chgRange;

    doc. Copy();

    Prepare for the changes doc and paste there the modified section.

    var lastPgf = getLastPgf (changesDoc);

    var dummyPgf = changesDoc.NewSeriesPgf (lastPgf);

    var changesTloc = new TextLoc (dummyPgf, 0);

    var changesTRange = new TextRange (changesTloc, changesTloc);

    changesDoc.TextSelection = changesTRange;

    changesDoc.Paste ();

    To go at the end of the file again (I think)

    Don't forget that last TFP is now fake TFP

    lastPgf = getLastPgf (changesDoc);

    var dividerPgf = changesDoc.NewSeriesPgf (lastPgf.PrevPgfInFlow);

    var TLoc = new TextLoc (dividerPgf, 0);

    changesDoc.AddText (TLoc, '_');

    dummyPgf.Delete ();

    }

    function getLastPgf (doc)

    {

    textFrame var is doc. MainFlowInDoc.LastTextFrameInFlow;

    var lastPgf = textFrame.LastPgf;

    While (! lastPgf.ObjectValid () & textFrame.ObjectValid ())

    {

    textFrame = textFrame.PrevTextFrameInFlow;

    lastPgf = textFrame.LastPgf;

    }

    Return lastPgf;

    }

  • keyboard shortcut to apply the paragraph tag

    I am experienced with FrameMaker 8, but just to start getting used to FrameMaker 9. A keyboard shortcut that I use constantly in FrameMaker 8 is Ctrl-9, type the first letter of the paragraph tag, and then press ENTER. If there is more than one, starting with the same letter, I keep just hitting this letter until it appears the tag I want. For example if there is a title 1 and a Title2, I type 'h' twice to get Title2. With FrameMaker 9, it seems that I have to type the whole word "Title2" before hitting entry.

    Frustrating when shortcuts favorites are messy. Is it possible to recover my old shortcut? Is there a quick way to apply paragraph tags in FrameMaker 9?

    Jay fresno wrote:

    I am experienced with FrameMaker 8, but just to start getting used to FrameMaker 9. A keyboard shortcut that I use constantly in FrameMaker 8 is Ctrl-9, type the first letter of the paragraph tag, and then press ENTER. If there is more than one, starting with the same letter, I keep just hitting this letter until it appears the tag I want. For example if there is a title 1 and a Title2, I type 'h' twice to get Title2. With FrameMaker 9, it seems that I have to type the whole word "Title2" before hitting entry.

    Frustrating when shortcuts favorites are messy. Is it possible to recover my old shortcut? Is there a quick way to apply paragraph tags in FrameMaker 9?

    Type down arrow after selecting the first of similar format names. For example, Ctrl + H 9 DnArrow moves to Title2, or whatever the second format that begins with "H".

    Consider using format names that have less of the same main characters. For example:

    Title 1 H 1

    2 H Title2

    1N Numbered1

    Numbered N

    1 typo displays 1 H Heading1; DnArrow moves to 1N Numbered1.

    Some people separate the abbreviation of the full name with an underscore instead of a space; i. e., 1H_Heading1, instead of 1 H Heading1.

    HTH

    Kind regards

    Peter

    _______________________

    Peter gold

    Know-how ProServices

  • Drop cap in the first paragraph only...

    Hi all

    I found what looks like the solution to this, but it does not work (making it not a solution).

    in any case, I've created two paragraph styles ('First paragraph Style' and 'Paragraph Style'). "First paragraph Style" I put the drop cap, and I put "Next Style" (under 'general') 'Paragraph Style' (who has not a setting of the drop cap, or rather the settings by default ie. 0 rows, etc.).

    The catch: I apply the paragraph Style first to my text and... all paragraphs will have a drop cap, as defined in the first paragraph Style. Major sadness!

    Any ideas?

    Thank you very much!

    -steve

    You must right click on the first paragraph Style and then choose apply "paragraph Style" then next Style.

  • Allocation of master pages to the pages of body containing paragraph tags

    Background:

    • I am not using structured FrameMaker v8.0
    • We currently have a paragraph tag called NotesPage and a reference page called Notes. The NotesPage paragraph tag specifies the Notes in the field below the FMP on the tab advanced in paragraph Designer. When you use the NotesPage paragraph tag, it inserts an entire page with lines at the bottom of the page.
    • There are cases in very large files, when to use the tag of paragraph NotesPage to insert this page in the document.
    • The page will always serve on a left page.
    • If we add information in the file, the page of notes can be pushed to a right-hand page. Therefore, this requires manual interventions in files that are quite large.

    Possible solution:

    • I'm working with the MasterPageMaps reference page.
    • I created an empty master page named NotesPage.
    • On the MasterPageMap, I did:

    Paragraph tag name

    Right hand Master Page (or master Front Page)

    Left Master Page

    Indicator of rank (single, on the pages up to this amended)

    Comments

    NotesPage

    Right

    NotesPage

    Unique

    • What I want to do is the ability to insert a paragraph NotesPage tag after each section. If the NotesPage tag falls on a page of lefty, lined notes page. If the NotesPage tag falls on a right page, then my normal right named master page is used.
    • Unfortunately, this does not work for me. The paragraph tag always seems to prevail over the command apply Master Pages. I have the page of notes lined almost anything.
    • I tried to put the lines of notes, on the master page of NotesPage, but of course, it just seems like background text and my next page to a text value displayed on the lines.

    Any help is appreciated. This would save hours at the time of production.  Thank you!

    If the page layout that you want for the pages of Notes is on the master page named NotesPage, then you have probably set to the NotesPage paratag. There's just an empty paragraph of placeholder, - without having to access anything whatsoever from a page of reference...

  • Find Greek and applied characters for Times new roman

    Dear friend,

    How to find characters 'Greeks' and applied to the new Roman style - regular in the Application. Please see my screenshot for your reference.

    Screen Shot 2016-04-27 at 7.12.04 PM.png

    Please suggest a friend

    Thanks in advance

    Try this Grep (in my humble OPINION written by Martin Fischer)

    To find:

    [\x{0370}-\x{03FF}\x{1F00}-\x{1FFF}]+

    Replace with:

    'other' your character style

    Have fun

Maybe you are looking for