text:
IF OBJECT_ID('[ValueObjects].[SupportServices]', 'U') IS NOT NULL
  DROP TABLE [ValueObjects].[SupportServices];

  CREATE TABLE [ValueObjects].[SupportServices] (
	[SupportServiceId] UNIQUEIDENTIFIER NOT NULL,
	[Name] VARCHAR(256)
)

redpajama_set_name: RedPajamaGithub


text:
@interface DDDViewController : UIViewController

@end


text:
package org.olat.core.gui.control.dragdrop;

/**
 * Description:

 * TODO: Felix Class Description for DropTarget
 *

 * Initial Date: 11.04.2006

 *
 * @author Felix
 */
public interface DropTarget {

}


text:
<?php

namespace app\models\api\v3\postBattle;

use Yii;
use app\components\helpers\CriticalSection;
use app\models\Agent;
use app\models\api\v3\postBattle\TypeHelperTrait;

trait UserAgentTrait
{
    // use TypeHelperTrait;

    protected static function userAgent(?string $agentName, ?string $agentVersion): ?int
    {
        $agentName = self::strVal($agentName);
        $agentVersion = self::strVal($agentVersion);
        if ($agentName === null || $agentVersion === null) {
            return null;
        }

        $model = Agent::find()
            ->andWhere([
                'name' => $agentName,
                'version' => $agentVersion,
            ])
            ->limit(1)
            ->one();
        if (!$model) {
            if (!$lock = CriticalSection::lock(Agent::class, 60)) {
                return null;
            }
            try {
                $model = Yii::createObject([
                    'class' => Agent::class,
                    'name' => $agentName,
                    'version' => $agentVersion,
                ]);

                if (!$model->save()) {
                    return null;
                }
            } finally {
                unset($lock);
            }
        }

        return (int)$model->id;
    }
}


text:
#pragma once

#include "il2cpp-config.h"

#ifndef _MSC_VER
# include <alloca.h>
#else
# include <malloc.h>
#endif

#include <stdint.h>
#include <assert.h>
#include <exception>

// UnityEngine.SharedBetweenAnimatorsAttribute
struct SharedBetweenAnimatorsAttribute_t3749847808;

#include "codegen/il2cpp-codegen.h"

// System.Void UnityEngine.SharedBetweenAnimatorsAttribute::.ctor()
extern "C"  void SharedBetweenAnimatorsAttribute__ctor_m2764338918 (SharedBetweenAnimatorsAttribute_t3749847808 * __this, const MethodInfo* method) IL2CPP_METHOD_ATTR;


text:
package org.apache.commons.vfs2.provider.local;

import org.apache.commons.vfs2.FileName;
import org.apache.commons.vfs2.FileType;

/**
 * A local file URI.
 *
 * @author Commons VFS team
 * @version $Revision$ $Date$
 */
public class WindowsFileName extends LocalFileName
{
    protected WindowsFileName(final String scheme,
                              final String rootFile,
                              final String path,
                              final FileType type)
    {
        super(scheme, rootFile, path, type);
    }

    /**
     * Factory method for creating name instances.
     * @param path The file path.
     * @param type The file type.
     * @return The FileName.
     */
    @Override
    public FileName createName(final String path, FileType type)
    {
        return new WindowsFileName(getScheme(), getRootFile(), path, type);
    }

    /**
     * Builds the root URI for this file name.
     */
    @Override
    protected void appendRootUri(final StringBuilder buffer, boolean addPassword)
    {
        buffer.append(getScheme());
        buffer.append("://");
        if (getRootFile() != null && !getRootFile().startsWith("/"))
        {
            // next is drive-letter (else unc name)
            buffer.append("/");
        }
        buffer.append(getRootFile());
    }
}


text:
layout: post
title: Rainbow Brackets document
keywords: 开源,open-source,GitHub,开源项目,Rainbow Brackets, Intellij, Kotlin
description: Rainbow Brackets document
permalink: /rainbow-brackets-document/
---

Intellij rainbow brackets

Rainbow Brackets / Rainbow Parentheses for IntelliJ based IDEs.

## Compatibility

IntelliJ IDEA, PhpStorm, WebStorm, PyCharm, RubyMine, AppCode, CLion, Gogland, DataGrip, Rider, MPS, Android Studio

## Supported languages

Java, Scala, Clojure, Kotlin, Python, Haskell, Agda, Rust, JavaScript, TypeScript, Erlang, Go, Groovy, Ruby, Elixir, ObjectiveC, PHP, HTML, XML, SQL, Apex language, C#, Dart, ...

## Author's choice

Rainbow Brackets + Material Theme UI(Oceanic theme) + Nyan Progress Bar + [Fira Code](https://github.com/tonsky/FiraCode) (Font)

## Sponsored By

This plugin is being sponsored by [CodeStream](https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=jbrainbowbrackets&utm_medium=banner).

[![https://codestream.com](https://alt-images.codestream.com/codestream_logo_jbrainbowbrackets.png)](https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=jbrainbowbrackets&utm_medium=banner)

Discussing code is now as easy as highlighting a block and typing a comment right from your IDE. Take the pain out of code reviews and improve code quality. [Try it free](https://sponsorlink.codestream.com/?utm_source=jbmarket&utm_campaign=jbrainbowbrackets&utm_medium=banner)!

Development powered by [JetBrains](https://www.jetbrains.com/?from=IntelliJRainbowBrackets).

[![https://www.jetbrains.com/?from=IntelliJRainbowBrackets](/assets/images/jetbrains.svg)](https://www.jetbrains.com/?from=IntelliJRainbowBrackets)

Whichever technologies you use, there's a JetBrains tool to match.

## Screenshots

* with Java

![](https://raw.githubusercontent.com/izhangzhihao/intellij-rainbow-brackets/2020.1/screenshots/with-java.png)

![](https://raw.githubusercontent.com/izhangzhihao/intellij-rainbow-brackets/2020.1/screenshots/with-material-theme-ui.png)

* with Scala

![](https://raw.githubusercontent.com/izhangzhihao/intellij-rainbow-brackets/2020.1/screenshots/with-scala.png)

* with Clojure

![](https://raw.githubusercontent.com/izhangzhihao/intellij-rainbow-brackets/2020.1/screenshots/with-Clojure.png)

* with Kotlin

![](https://raw.githubusercontent.com/izhangzhihao/intellij-rainbow-brackets/2020.1/screenshots/with-kotlin.png)

* with HTML/XML

![](https://raw.githubusercontent.com/izhangzhihao/intellij-rainbow-brackets/2020.1/screenshots/with-HTML.png)

* Scope highlighting

**The highlight effects will not remove after release the shortcuts, but press `ESC` key can do this. You could also config `Press any key to remove the highlighting effect` in setting page.**

Ctrl + Button3(Windows & Linux) or Meta+ Button3(Mac):

NOTE: Button3 means "Secondary Click (click or tap with two fingers)" on Mac os, "Right click" for Windows or Linux.

![](https://user-images.githubusercontent.com/10737066/40234968-46593fe2-5adb-11e8-8ea8-0026fad86ca9.gif)

Alt + Button3:

NOTE: Button3 means "Secondary Click (click or tap with two fingers)" on Mac os, "Right click" for Windows or Linux.

![](https://user-images.githubusercontent.com/10737066/40235004-642dfe54-5adb-11e8-9fd7-648b92fab8f5.gif)

* Rainbow indent guide lines

![](https://user-images.githubusercontent.com/10737066/65765792-c41cb500-e15b-11e9-8877-2239c6afa7bf.gif)

* [night-owl-jetbrains](https://github.com/xdrop/night-owl-jetbrains)

![](https://github.com/xdrop/night-owl-jetbrains/raw/2018.2/screenshot.png)

* looking forward to your screenshots(PR welcome!)

## Install

### Install snapshot build

You can download the latest snapshot build from [here](https://circleci.com/gh/izhangzhihao/intellij-rainbow-brackets), just click in the latest build and click the 'Artifacts' tab.(You must logged in via github)

## Customize colors

Settings/Preferences > Editor > Color Scheme > Rainbow Brackets:

![Customize colors](https://raw.githubusercontent.com/izhangzhihao/intellij-rainbow-brackets/2020.1/screenshots/customize-colors.png)

## Use color generator

I didn't like the build-in colors, I want some new color but does want to try out and pick colors. Please use color generator.

Settings/Preferences > Other Settings > Rainbow Brackets > Use color generator

If you turn on this option, we will auto generate some colors for you.

If you need more control, you can decide the options of color generator by edit [the config file](#config-file-path),

The value of the option `customColorGeneratorOption` is a json object, available options are:

```hue``` – Controls the hue of the generated color. You can pass a string representing a color name: ```red```, ```orange```, ```yellow```, ```green```, ```blue```, ```purple```, ```pink``` and ```monochrome``` are currently supported. If you pass a  hexidecimal color string such as ```#00FFFF```, color generator will extract its hue value and use that to generate colors.

```luminosity``` – Controls the luminosity of the generated color. You can specify a string containing ```bright```, ```light``` or ```dark```.

Please make sure the value of the option `customColorGeneratorOption` is escaped in xml format,
you can use [this tool](https://www.freeformatter.com/xml-escape.html#ad-output) to do this. Please don't forget to restart your IDE after change the config file.

```xml
<application>
  <component name="RainbowSettings">
    <option name="useColorGenerator" value="true" />
    <option name="customColorGeneratorOption" value="{"luminosity": "light","hue": "blue"}"/>
  </component>
</application>
```

### Want to config the number of colors?

Settings/Preferences > Other Settings > Rainbow Brackets > `Number of colors`: 5 or more

NOTE: For default and darcula color scheme(`Editor -> Color Scheme -> Rainbow Brackets -> Scheme`) the color number is 10, for the other scheme the number is 5, if your number is bigger than the number, you can config them in the config file.
If the color is not exist, we will use color generator to generator it for you.

Please follow [the official guide](https://www.jetbrains.com/help/idea/configuring-colors-and-fonts.html#share-color-scheme):
* `Export a color scheme as XML`
* Edit the xml file, put `ROUND_BRACKETS_RAINBOW_COLOR5` to `ROUND_BRACKETS_RAINBOW_COLOR100` to match your number just like [the default color scheme](./src/main/resources/colorSchemes/rainbow-color-default-darcula.xml).
* `Import a color scheme`

## Config file path

If you want to customize the advanced configuration, you could edit the config file then restart your IDE.
Config file path in `APP_CONFIG/rainbow_brackets.xml`.

In MAC OS env maybe like `~/Library/Preferences/IntelliJIdea2020.1/options/rainbow_brackets.xml`.

If you are using the ToolBox, then it will be like `~/Library/ApplicationSupport/JetBrains/IntelliJIdea2020.1/options/rainbow_brackets.xml`

In Linux env maybe like `~/.IntelliJIdea/config/options/rainbow_brackets.xml`.

In Windows env maybe like `C:\Users\izhangzhihao\.IntelliJIdea2020.1\config\options\rainbow_brackets.xml`.

## HTML code in js

To enable rainbow brackets for HTML inside js code like this:

```javascript
var html = '<div><div><div>Hello</div></div></div>';
```

This plugin will automatically override color scheme property "HTML_CODE" [cause our rainbow color been covered by intellij built-in functionality](https://intellij-support.jetbrains.com/hc/en-us/community/posts/360000117450-My-HighlightVisitor-been-covered-by-intellij-built-in-functionality).
You still could set `<option name="rainbowifyHTMLInsideJS" value="false" />` in config file to disable just like [Config brackets colors](#config-brackets-colors).

## Kotlin function literal braces and arrow

To enable rainbow brackets for multiple level lambda Kotlin code like this:

```kotlin
event.throwable?.let { throwable ->
    IdeErrorsDialog.findPluginId(throwable)?.let { pluginId ->
        PluginManager.getPlugin(pluginId)?.let { ideaPluginDescriptor ->
            if (!ideaPluginDescriptor.isBundled) {
                bean.pluginName = ideaPluginDescriptor.name
                bean.pluginVersion = ideaPluginDescriptor.version
            }
        }
    }
}
```

This plugin will automatically override color scheme property "KOTLIN_FUNCTION_LITERAL_BRACES_AND_ARROW" cause our rainbow color is being covered by kotlin plugin built-in functionality.
You still could set `<option name="rainbowifyKotlinFunctionLiteralBracesAndArrow" value="false" />` in config file to disable just like [Config brackets colors](#config-brackets-colors).

## Disable rainbow brackets for specific languages

If you want to disable rainbow brackets for javascript languages and java languages, you could set `languageBlacklist` property in config file just like:

```xml
<application>
  <component name="RainbowSettings">
    <option name="languageBlacklist">
      <array>
        <option value="java" />
        <option value="javascript" />
      </array>
    </option>
  </component>
</application>
```

NOTE: You can use **name** of language or **extension** of file name(The names should be **lowercase**).

## Contribute

NOTE: To view the PSI tree and explore the internal structure of source code, you need to setup your IDE follow [this](https://www.jetbrains.com/help/idea/psi-viewer.html).

* `gradle test`
* `gradle runIde`
* `gradle buildPlugin`

## Support Us

You can support us by the following actions:

* Star this project on GitHub
* Share this plugin with your friends/colleagues
* Rate this plugin on [JetBrains plugin repository](https://plugins.jetbrains.com/plugin/10080-rainbow-brackets)
* Make pull requests
* Report bugs
* Tell us your ideas
* Become a sponsor by donating on [Open Collective](https://opencollective.com/intellij-rainbow-brackets)
* Become a sponsor by donating with AliPay or WeChatPay

    AliPay
    WeChatPay

## Backers

Thank you to all our backers! ❤ [[Become a backer](https://opencollective.com/intellij-rainbow-brackets#backer)]

## Sponsors

Support this project by becoming a sponsor! 🌈 Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/intellij-rainbow-brackets#sponsor)]

## Acknowledgements

Intellij-rainbow-brackets is heavily inspired by [Rainbow Brackets for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=2gua.rainbow-brackets)


text:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
	<title>Dojo Store Intern Unit Test Runner</title>
	<meta http-equiv="refresh" content="0;url=../../node_modules/intern-geezer/client.html?config=dojox/store/tests/intern">
<BODY>
	Redirecting to Intern runner.
</BODY>
</HTML>


text:
typedef enum {
    AXObjectStatusSaved,
    AXObjectStatusSaving,
    AXObjectStatusNew,
    AXObjectStatusModified
} AXObjectStatus;

@interface AXObject : NSObject

@property (readonly) NSString *collectionName;
@property (readonly) NSString *objectID;
@property (readonly) AXObjectStatus status;

+ (AXObject *)create:(NSString *)collectionName;
+ (AXObject *)create:(NSString *)collectionName properties:(NSDictionary *)properties;

- (void)save;
- (void)save:(void(^)(NSError *error))completion;
+ (void)saveObjects:(NSArray *)objects completion:(void(^)(NSError *error))completion;
+ (void)findAll:(NSString *)collectionName completion:(void(^)(NSArray *objects, NSError *error))completion;
+ (void)find:(NSString *)collectionName withId:(NSString *)objectID completion:(void(^)(AXObject *object, NSError *error))completion;
+ (void)find:(NSString *)collectionName with:(NSDictionary *)propertyValues completion:(void(^)(NSArray *objects, NSError *error))completion;
+ (void)find:(NSString *)collectionName search:(NSDictionary *)propertyValues completion:(void(^)(NSArray *objects, NSError *error))completion;
+ (void)find:(NSString *)collectionName search:(NSString *)searchString properties:(NSArray *)searchProperties completion:(void(^)(NSArray *objects, NSError *error))completion;
+ (void)find:(NSString *)collectionName query:(void(^)(AXQuery *query))queryBlock completion:(void(^)(NSArray *objects, NSError *error))completion;

+ (void)find:(NSString *)collectionName queryString:(NSString *)queryString completion:(void(^)(NSArray *objects, NSError *error))completion;
- (void)refresh:(void(^)(NSError *error))completion;
- (void)remove;
- (void)remove:(void(^)(NSError *error))completion;

- (void)delete __attribute__((deprecated("use method remove instead")));
- (void)delete:(void(^)(NSError *error))completion __attribute__((deprecated("use method remove: instead")));

- (void)grant:(id)who permissions:(NSArray *)permissions;
- (void)revoke:(id)who permissions:(NSArray *)permissions;
- (void)grantPublic:(NSArray *)permissions;
- (void)revokePublic:(NSArray *)permissions;

- (id)objectForKeyedSubscript:(id <NSCopying>)key;
- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key;

@end


text:
Implementation Steps

           1.	Laying a Foundation (IBrokerageFactory)
Stub out the implementation and initialize a brokerage instance.

           2.	Creating The Brokerage (IBrokerage)
Installing key brokerage application logic, where possible using a brokerage SDK.

           3.	Translating Symbol Conventions (ISymbolMapper)
Translate brokerage specific tickers to LEAN format for a uniform algorithm design experience.

           4.	Describe Broker Limitations (IBrokerageModel)
Describe brokerage support of orders and set transaction models.

           5.	Enable Live Data Streaming (IDataQueueHandler)
Live streaming data service from brokerage supplied source.

           6.	Enable Serving Historical Data (IHistoryProvider)
Tap into the brokerage historical data API to serve history for live algorithms.

           7.	Download Data (IDataDownloader)
 Save data from the brokerage to disk in LEAN format.

           8.	Describe Brokerage Fee Structures (IFeeModel)
Enable accurate backtesting with specific fee structures of the brokerage.

           9.	Update Algorithm API for Easy Setup of Brokerage Models (ISecurityTransactionModel)
Combine the various models together to form a brokerage set.

The root of the brokerage system is the algorithm job packets. These hold configuration information about how to run LEAN. The program logic is a little convoluted; it moves from config.json > create job packet > create brokerage factory matching name > set job packet brokerage data > factory creates brokerage instance. Because of this we'll start creating a brokerage at the root -- the configuration and brokerage factory...


text:
import {parseFiles, expectTranslate, expectErroneousCode, translateSource} from './test_support';
import chai = require('chai');

var traceurRuntimeDeclarations = `
    interface Iterable<T> {}
    interface Symbol {}
    interface Map<K, V> {
      get(key: K): V;
      has(key: K): boolean;
      set(key: K, value: V): Map<K, V>;
      size: number;
      delete(key: K): boolean;
    }
    declare var Map: {
      new<K, V>(): Map<any, any>;
      prototype: Map<any, any>;
    };
    declare var Symbol;
    `;

function getSources(str: string): {[k: string]: string} {
  var srcs: {[k: string]: string} = {
    'angular2/traceur-runtime.d.ts': traceurRuntimeDeclarations,
    'angular2/src/di/forward_ref.d.ts': `
        export declare function forwardRef<T>(x: T): T;`,
    'angular2/src/facade/collection.d.ts': `
        export declare var Map: typeof Map;
    `,
    'angular2/src/facade/lang.d.ts': `
        interface List<T> extends Array<T> {}
        export declare function CONST_EXPR<T>(x: T): T;`,
    'other/file.ts': `
        export class X {
          map(x: number): string { return String(x); }
          static get(m: any, k: string): number { return m[k]; }
        }`,
  };
  srcs['main.ts'] = str;
  return srcs;
}

const COMPILE_OPTS = {
  translateBuiltins: true,
  failFast: true
};

function expectWithTypes(str: string) {
  return expectTranslate(getSources(str), COMPILE_OPTS);
}

function expectErroneousWithType(str: string) {
  return chai.expect(() => translateSource(getSources(str), COMPILE_OPTS));
}

describe('type based translation', () => {
  describe('collection façade', () => {
    it('translates array operations to dartisms', () => {
      expectWithTypes('var x: Array<number> = []; x.push(1); x.pop();')
          .to.equal(' List < num > x = [ ] ; x . add ( 1 ) ; x . removeLast ( ) ;');
      expectWithTypes('var x: Array<number> = []; x.map((e) => e);')
          .to.equal(' List < num > x = [ ] ; x . map ( ( e ) => e ) . toList ( ) ;');
      expectWithTypes('var x: Array<number> = []; x.unshift(1, 2, 3); x.shift();')
          .to.equal(' List < num > x = [ ] ; ( x .. insertAll ' +
                    '( 0, [ 1 , 2 , 3 ]) ) . length ; x . removeAt ( 0 ) ;');
      expectWithTypes('var x: Array<number> = []; x.unshift(1);')
          .to.equal(' List < num > x = [ ] ; ( x .. insert ( 0, 1 ) ) . length ;');

    });

    it('translates map operations to dartisms', () => {
      expectWithTypes('var x = new Map<string, string>(); x.set("k", "v");')
          .to.equal(' var x = new Map < String , String > ( ) ; x [ "k" ] = "v" ;');
      expectWithTypes('var x = new Map<string, string>(); x.get("k");')
          .to.equal(' var x = new Map < String , String > ( ) ; x [ "k" ] ;');
      expectWithTypes('var x = new Map<string, string>(); x.has("k");')
          .to.equal(' var x = new Map < String , String > ( ) ; x . containsKey ( "k" ) ;');
      expectWithTypes('var x = new Map<string, string>(); x.delete("k");')
          .to.equal(' var x = new Map < String , String > ( ) ; ' +
                    '( x . containsKey ( "k" ) && ( x . remove ( "k" ) != null || true ) ) ;');
    });

    it('translates map properties to dartisms', () => {
      expectWithTypes('var x = new Map<string, string>(); x.size;')
          .to.equal(' var x = new Map < String , String > ( ) ; x . length ;');
    });
  });

  describe('regexp', () => {
    expectWithTypes('var x = /a/g; x.test("a");')
        .to.equal(' var x = new RegExp ( r\'a\' ) ; x . hasMatch ( "a" ) ;');
  });

  describe('builtin functions', () => {
    it('translates CONST_EXPR(...) to const (...)', () => {
      expectWithTypes('import {CONST_EXPR} from "angular2/src/facade/lang";\n' +
                      'const x = CONST_EXPR([]);')
          .to.equal(' const x = const [ ] ;');
      expectWithTypes('import {CONST_EXPR} from "angular2/src/facade/lang";\n' +
                      'class Person {}' +
                      'const x = CONST_EXPR(new Person());')
          .to.equal(' class Person { } const x = const Person ( ) ;');
      expectWithTypes('import {CONST_EXPR} from "angular2/src/facade/lang";\n' +
                      'const x = CONST_EXPR({"one":1});')
          .to.equal(' const x = const { "one" : 1 } ;');
      expectWithTypes('import {CONST_EXPR} from "angular2/src/facade/lang";\n' +
                      'import {Map} from "angular2/src/facade/collection";\n' +
                      'const x = CONST_EXPR(new Map());')
          .to.equal(' import "package:angular2/src/facade/collection.dart" show Map ;' +
                    ' const x = const { } ;');
      expectWithTypes('import {CONST_EXPR} from "angular2/src/facade/lang";\n' +
                      'import {Map} from "angular2/src/facade/collection";\n' +
                      'const x = CONST_EXPR(new Map<number, string>());')
          .to.equal(' import "package:angular2/src/facade/collection.dart" show Map ;' +
                    ' const x = const < num , String > { } ;');
    });

    it('translates forwardRef(() => T) to T', () => {
      expectWithTypes('import {forwardRef} from "angular2/src/di/forward_ref";\n' +
                      'var SomeType = 1;\n' +
                      'var x = forwardRef(() => SomeType);')
          .to.equal(' var SomeType = 1 ; var x = SomeType ;');
      expectErroneousWithType('import {forwardRef} from "angular2/src/di/forward_ref";\n' +
                              'forwardRef(1)')
          .to.throw(/only arrow functions/);
    });
  });

  it('translates array façades', () => {
    expectWithTypes('var x = []; Array.isArray(x);').to.equal(' var x = [ ] ; ( ( x ) is List ) ;');
  });

  describe('error detection', () => {
    it('for untyped symbols matching special cased fns', () => {
      expectErroneousWithType('forwardRef(1)').to.throw(/Untyped property access to "forwardRef"/);
    });
    it('for untyped symbols matching special cased methods', () => {
      expectErroneousWithType('x.push(1)').to.throw(/Untyped property access to "push"/);
    });
    it('allows unrelated methods', () => {
      expectWithTypes('import {X} from "other/file";\n' +
                      'new X().map(1)')
          .to.equal(' import "package:other/file.dart" show X ; new X ( ) . map ( 1 ) ;');
      expectWithTypes('import {X} from "other/file";\n' +
                      'X.get({"a": 1}, "a");')
          .to.equal(' import "package:other/file.dart" show X ; X . get ( { "a" : 1 } , "a" ) ;');
      expectWithTypes('["a", "b"].map((x) => x);')
          .to.equal(' [ "a" , "b" ] . map ( ( x ) => x ) . toList ( ) ;');
    });
  });
});


text:
from branca.element import Element, Figure, MacroElement
from jinja2 import Template

from folium.elements import JSCSSMixin

class Draw(JSCSSMixin, MacroElement):
    """
    Vector drawing and editing plugin for Leaflet.

    Parameters
    ----------
    export : bool, default False
        Add a small button that exports the drawn shapes as a geojson file.
    filename : string, default 'data.geojson'
        Name of geojson file
    position : {'topleft', 'toprigth', 'bottomleft', 'bottomright'}
        Position of control.
        See https://leafletjs.com/reference.html#control
    show_geometry_on_click : bool, default True
        When True, opens an alert with the geometry description on click.
    draw_options : dict, optional
        The options used to configure the draw toolbar. See
        http://leaflet.github.io/Leaflet.draw/docs/leaflet-draw-latest.html#drawoptions
    edit_options : dict, optional
        The options used to configure the edit toolbar. See
        https://leaflet.github.io/Leaflet.draw/docs/leaflet-draw-latest.html#editpolyoptions

    Examples
    --------
    >>> m = folium.Map()
    >>> Draw(
    ...     export=True,
    ...     filename="my_data.geojson",
    ...     position="topleft",
    ...     draw_options={"polyline": {"allowIntersection": False}},
    ...     edit_options={"poly": {"allowIntersection": False}},
    ... ).add_to(m)

    For more info please check
    https://leaflet.github.io/Leaflet.draw/docs/leaflet-draw-latest.html

    """

    _template = Template(
        """
        {% macro script(this, kwargs) %}
            var options = {
              position: {{ this.position|tojson }},
              draw: {{ this.draw_options|tojson }},
              edit: {{ this.edit_options|tojson }},
            }
            // FeatureGroup is to store editable layers.
            var drawnItems = new L.featureGroup().addTo(
                {{ this._parent.get_name() }}
            );
            options.edit.featureGroup = drawnItems;
            var {{ this.get_name() }} = new L.Control.Draw(
                options
            ).addTo( {{this._parent.get_name()}} );
            {{ this._parent.get_name() }}.on(L.Draw.Event.CREATED, function(e) {
                var layer = e.layer,
                    type = e.layerType;
                var coords = JSON.stringify(layer.toGeoJSON());
                {%- if this.show_geometry_on_click %}
                layer.on('click', function() {
                    alert(coords);
                    console.log(coords);
                });
                {%- endif %}
                drawnItems.addLayer(layer);
             });
            {{ this._parent.get_name() }}.on('draw:created', function(e) {
                drawnItems.addLayer(e.layer);
            });
            {% if this.export %}
            document.getElementById('export').onclick = function(e) {
                var data = drawnItems.toGeoJSON();
                var convertedData = 'text/json;charset=utf-8,'
                    + encodeURIComponent(JSON.stringify(data));
                document.getElementById('export').setAttribute(
                    'href', 'data:' + convertedData
                );
                document.getElementById('export').setAttribute(
                    'download', {{ this.filename|tojson }}
                );
            }
            {% endif %}
        {% endmacro %}
        """
    )

    default_js = [
        (
            "leaflet_draw_js",
            "https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.2/leaflet.draw.js",
        )
    ]
    default_css = [
        (
            "leaflet_draw_css",
            "https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.2/leaflet.draw.css",
        )
    ]

    def __init__(
        self,
        export=False,
        filename="data.geojson",
        position="topleft",
        show_geometry_on_click=True,
        draw_options=None,
        edit_options=None,
    ):
        super().__init__()
        self._name = "DrawControl"
        self.export = export
        self.filename = filename
        self.position = position
        self.show_geometry_on_click = show_geometry_on_click
        self.draw_options = draw_options or {}
        self.edit_options = edit_options or {}

    def render(self, **kwargs):
        super().render(**kwargs)

        figure = self.get_root()
        assert isinstance(
            figure, Figure
        ), "You cannot render this Element if it is not in a Figure."

        export_style = """

        """
        export_button = """Export"""
        if self.export:
            figure.header.add_child(Element(export_style), name="export")
            figure.html.add_child(Element(export_button), name="export_button")


text:
<!doctype html>

	<meta charset="utf-8">
	<title>San Joaquin Valley Town Hall</title>
	<link rel="shortcut icon" href="images/favicon.ico">
	<link rel="stylesheet" href="styles/speaker.css">

		<hgroup>

San Joaquin Valley Town Hall

Bringing cutting-edge speakers to the valley for 75 years!

		</hgroup>

2011-2012 guest speakers

October 19, 2011: Jeffrey Toobin

November 16, 2011: Andrew Ross Sorkin

January 18, 2012: Amy Chua

February 15, 2012: Scott Sampson

March 21, 2012: Carlos Eire

April 18, 2012: Ronan Tynan

Return to Home page

Fossil Threads in the Web of Life

What's 75 million years old and brand spanking new? A teenage
		Utahceratops! Come to the Saroyan, armed with your best dinosaur roar, when Scott Sampson,
		Research Curator at the Utah Museum of Natural History, steps to the podium. Sampson's
		research has focused on the ecology and evolution of late Cretaceous dinosaurs and he has
		conducted fieldwork in a number of countries in Africa.

Scott Sampson is a Canadian-born paleontologist who received his Ph.D. in zoology from
		the University of Toronto. His doctoral work focused on two new species of ceratopsids, or
		horned dinosaurs, from the Late Cretaceous of Montana, as well as the
		growth and function of certopsid horns and frills.

Following graduation in 1993, Sampson spent a year working at the American
		Museum of Natual History in New York City, followed by five years as assistant professor of
		anatomy at the New York College of Osteopathic Medicine on Long Island. He arrived at the
		University of Utah accepting a dual position as assistant professor in the Department of
		Geology and Geophysics and curator of vertebrate paleontology at the Utah Museum of Natural
		History. His research interests largely revolve around the phylogenetics, functional
		morphology, and evolution of Late Cretaceous dinosaurs.

In addition to his museum and laboratory-based studies, Sampson has conducted paleontological
		work in Zimbabwe, South Africa, and Madagascar, as well as the United States and Canada. He was
		also the on-the-air host for the Discovery Channel's Dinosaur Planet and recently completed a
		book, Dinosaur Odyssey: Fossil Threads in the Web of Life, which is one of the most
		comprehensive surveys of dinosaurs and their worlds to date.

© Copyright 2012 San Joaquin Valley Town Hall.


text:
module BCrypt
end

if RUBY_PLATFORM == "java"
  require 'java'
else
  require "openssl"
end

begin
  RUBY_VERSION =~ /(\d+.\d+)/
  require "#{$1}/bcrypt_ext"
rescue LoadError
  require "bcrypt_ext"
end

require 'bcrypt/error'
require 'bcrypt/engine'
require 'bcrypt/password'


text:
package partI;

public class PolynomialFunctions {

	//public InputOutputFunctions IOFF = new InputOutputFunctions();
	/*
	 * Add two polynomials
	 * p - Polynomial
	 * p2 - Polynomial
	 */
	public Polynomial add(Polynomial p, Polynomial p2){
		int[] coeff1 = p.getCoeff();
		int[] coeff2 = p2.getCoeff();
		int coeff[] = new int[100];
		Polynomial smaller = Polynomial.getSmaller(p, p2);
		Polynomial greater = Polynomial.getGreater(p, p2);
		int min = smaller.getDegree();
		int max = greater.getDegree();
		for (int i=0; i<=max; i++){
			if(i>min){
				coeff[i] = greater.getCoeff()[i];
			}
			else{
				coeff[i] = coeff1[i] + coeff2[i];

			}
		}
		Polynomial result = new Polynomial(max, coeff);
		return result;

	}
	/*
	 * Delete two polynomials
	 * input: p - Polynomial
	 * 		  p2 - Polynomial
	 */
	public Polynomial delete(Polynomial p, Polynomial p2){
		int[] coeff1 = p.getCoeff();
		int[] coeff2 = p2.getCoeff();
		int coeff[] = new int[100];
		Polynomial smaller = Polynomial.getSmaller(p, p2);
		Polynomial greater = Polynomial.getGreater(p, p2);
		int min = smaller.getDegree();
		int max = greater.getDegree();
		for (int i=0; i<=max; i++){
			if(i>min){
				coeff[i] = greater.getCoeff()[i];
			}
			else{
				coeff[i] = coeff1[i] - coeff2[i];
			}
		}
		Polynomial result = new Polynomial(max, coeff);
		return result;
	}

	/*
	 * Multiply two polynomials
	 * p - Polynomial
	 * p2 - Polynomial
	 */
	public Polynomial multiply(Polynomial p, Polynomial p2){
		int d = 100;
		int[] coeff = new int[100];
		Polynomial result = new Polynomial(d, coeff);
		int degree=0;
		for(int i=0; i<p.getDegree()+1; i++){
			for(int j=0; j<p2.getDegree()+1; j++){
				int k = i+j;
				if(k > degree){
					degree = k;
				}
				result.coeff[k] += p.getCoeff()[i] * p2.getCoeff()[j];
			}
		}
		int[] v = new int[degree+1];
		for(int i=0; i<=degree; i++){
			v[i] = result.getCoeff()[i];
		}
		Polynomial r2 = new Polynomial(degree, v);
		return r2;
	}
	/*
	 * Multiply a polynomial with a given value
	 * p - Polynomial
	 * value - integer
	 */
	public Polynomial multiplyWith(Polynomial p, int value){
		int[] copyCoeffOfP = new int[p.getDegree()+1];
		for(int i=0; i<=p.getDegree();i++){
			copyCoeffOfP[i] = p.getCoeff()[i]*value;
		}
		Polynomial result = new Polynomial(p.getDegree(), copyCoeffOfP);
		return result;
	}
	/*
	 * Evaluate a polynomial on a given value
	 * p - Polynomial
	 * value - integer
	 */
	public Polynomial evalOn(Polynomial p, int value){
		int[] copyCoeffOfP = new int[p.getDegree()+1];
		for(int i=0; i<=p.getDegree();i++){
			copyCoeffOfP[i] = p.getCoeff()[i]/value;
	}
		Polynomial result = new Polynomial(p.getDegree(), copyCoeffOfP);
		return result;
	}

}


text:
package org.sleuthkit.autopsy.directorytree;

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import javax.swing.JComponent;
import org.netbeans.spi.options.OptionsPanelController;
import org.openide.util.HelpCtx;
import org.openide.util.Lookup;

/**
 * Controller for the ExternalViewerGlobalSettingsPanel
 */
@OptionsPanelController.TopLevelRegistration(
        categoryName = "#OptionsCategory_Name_ExternalViewer",
        iconBase = "org/sleuthkit/autopsy/directorytree/external-viewer-rules-32x32.png",
        keywords = "#OptionsCategory_Keywords_ExternalViewer",
        keywordsCategory = "ExternalViewer",
        position = 12
)
public final class ExternalViewerOptionsPanelController extends OptionsPanelController {

    private ExternalViewerGlobalSettingsPanel panel;
    private final PropertyChangeSupport pcs = new PropertyChangeSupport(this);
    private boolean changed;

    @Override
    public void update() {
        getPanel().load();
        changed = false;
    }

    @Override
    public void applyChanges() {
        if (changed) {
            getPanel().store();
            changed = false;
        }
    }

    @Override
    public void cancel() {
    }

    @Override
    public boolean isValid() {
        return true;
    }

    @Override
    public boolean isChanged() {
        return changed;
    }

    @Override
    public JComponent getComponent(Lookup lkp) {
        return getPanel();
    }

    @Override
    public HelpCtx getHelpCtx() {
        return null;
    }

    @Override
    public void addPropertyChangeListener(PropertyChangeListener l) {
        pcs.addPropertyChangeListener(l);
    }

    @Override
    public void removePropertyChangeListener(PropertyChangeListener l) {
        pcs.removePropertyChangeListener(l);
    }

    private ExternalViewerGlobalSettingsPanel getPanel() {
        if (panel == null) {
            panel = new ExternalViewerGlobalSettingsPanel();
            panel.addPropertyChangeListener((PropertyChangeEvent evt) -> {
                if (evt.getPropertyName().equals(OptionsPanelController.PROP_CHANGED)) {
                    changed();
                }
            });
        }
        return panel;
    }

    void changed() {
        if (!changed) {
            changed = true;
            pcs.firePropertyChange(OptionsPanelController.PROP_CHANGED, false, true);
        }
        pcs.firePropertyChange(OptionsPanelController.PROP_VALID, null, null);
    }
}


text:
<rb-site>
    <rb-main>
        <form name="userForm">
            <rb-page-title heading="rb-select-control">
            </rb-page-title>
            <rb-section heading="Select field no previous (with a placeholder)">
                <rb-component-display>
                    <rb-select-control
                        form="userForm"
                        label="Select field no previous (with a placeholder)"
                        value="id"
                        display="name"
                        name="noPreviousPlaceholder"
                        is-required="true"
                        items="demoRbSelectControlCtrl.items"
                        selected="demoRbSelectControlCtrl.emptySelect"
                        help-message="i.e. Your favourite make"
                        placeholder="Car">
                    </rb-select-control>
                    Selected: {{ demoRbSelectControlCtrl.emptySelect }}
                </rb-component-display>
            </rb-section>
            <rb-section heading="Small">
                <rb-component-display>
                    <rb-select-control
                        form="userForm"
                        label="A small-size select-control"
                        value="id"
                        display="name"
                        name="noPreviousPlaceholder"
                        items="demoRbSelectControlCtrl.items"
                        selected="demoRbSelectControlCtrl.emptySelect"
                        help-message="i.e. Your favourite make"
                        placeholder="Car"
                        size="small">
                    </rb-select-control>
                    Selected: {{ demoRbSelectControlCtrl.emptySelect }}
                </rb-component-display>
            </rb-section>
            <rb-section heading="Disabled">
                <rb-component-display>
                    <rb-select-control
                        form="userForm"
                        name="disabledSelect"
                        label="A disabled select field"
                        value="id"
                        display="name"
                        is-disabled="true"
                        items="demoRbSelectControlCtrl.items"
                        selected="demoRbSelectControlCtrl.previouslySelected">
                    </rb-select-control>
                </rb-component-display>
            </rb-section>
            <rb-section heading="Previously selected item (with a placeholder)">
                <rb-component-display>
                    <rb-select-control
                        form="userForm"
                        name="previousPlaceholder"
                        label="Previously selected item (with a placeholder)"
                        value="id"
                        display="name"
                        is-required="true"
                        items="demoRbSelectControlCtrl.items"
                        selected="demoRbSelectControlCtrl.previouslySelected"
                        placeholder="Your favourite Car">
                    </rb-select-control>
                    Selected: {{ demoRbSelectControlCtrl.previouslySelected }}
                </rb-component-display>
            </rb-section>
            <rb-section heading="Calling a function on-change">
                <rb-raw-html-display>
                    See browser console.
                </rb-raw-html-display>
                <rb-component-display>
                    <rb-select-control
                        form="userForm"
                        label="Calling a function on-change"
                        value="id"
                        display="name"
                        name="noPreviousPlaceholder"
                        is-required="true"
                        items="demoRbSelectControlCtrl.items"
                        selected="demoRbSelectControlCtrl.emptySelect"
                        help-message="i.e. Your favourite make"
                        placeholder="Select a Car"
                        on-change="demoRbSelectControlCtrl.printChange(id)">
                    </rb-select-control>
                    Selected: {{ demoRbSelectControlCtrl.emptySelect }}
                </rb-component-display>
            </rb-section>
            <rb-section heading="No placeholder and not previously selected">
                <rb-component-display>
                    <rb-select-control
                        form="userForm"
                        name="noPreviousNoPlaceholder"
                        is-required="true"
                        label="Select field no previous selected (no placeholder)"
                        value="id"
                        display="name"
                        items="demoRbSelectControlCtrl.items"
                        selected="demoRbSelectControlCtrl.noPlaceholderPreviouslySelected">
                    </rb-select-control>
                    Selected: {{ demoRbSelectControlCtrl.noPlaceholderPreviouslySelected }}
                </rb-component-display>
            </rb-section>
            <rb-section heading="Select field with a previous selected (no placeholder)">
                <rb-component-display>
                    <rb-select-control
                        form="userForm"
                        name="previousNoPlaceholder"
                        is-required="true"
                        label="Select field with a previous selected (no placeholder)"
                        value="id"
                        display="name"
                        items="demoRbSelectControlCtrl.items"
                        selected="demoRbSelectControlCtrl.previouslySelected">
                    </rb-select-control>
                    Selected: {{ demoRbSelectControlCtrl.previouslySelected }}
                </rb-component-display>
            </rb-section>
        </form>
    </rb-main>
</rb-site>


text:
/**
 */
package com.dbdesigner.model.relationaldatabase;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 *
 * The Package for the model.
 * It contains accessors for the meta objects to represent
 *

 *
each class,

 *
each feature of each class,

 *
each enum,

 *
and each data type

 *

 *
 * @see com.dbdesigner.model.relationaldatabase.RelationalDatabaseFactory
 * @model kind="package"
 * @generated
 */
public interface RelationalDatabasePackage extends EPackage {
	/**
	 * The package name.
	 *
	 *
	 * @generated
	 */
	String eNAME = "relationaldatabase";

	/**
	 * The package namespace URI.
	 *
	 *
	 * @generated
	 */
	String eNS_URI = "http://com.dbdesigner.relational/1.0";

	/**
	 * The package namespace name.
	 *
	 *
	 * @generated
	 */
	String eNS_PREFIX = "db";

	/**
	 * The singleton instance of the package.
	 *
	 *
	 * @generated
	 */
	RelationalDatabasePackage eINSTANCE = com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl.init();

	/**
	 * The meta object id for the '{@link com.dbdesigner.model.relationaldatabase.impl.TaggableImpl Taggable}' class.
	 *
	 *
	 * @see com.dbdesigner.model.relationaldatabase.impl.TaggableImpl
	 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getTaggable()
	 * @generated
	 */
	int TAGGABLE = 7;

	/**
	 * The feature id for the 'Tag' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TAGGABLE__TAG = 0;

	/**
	 * The number of structural features of the 'Taggable' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TAGGABLE_FEATURE_COUNT = 1;

	/**
	 * The meta object id for the '{@link com.dbdesigner.model.relationaldatabase.impl.NamedElementImpl Named Element}' class.
	 *
	 *
	 * @see com.dbdesigner.model.relationaldatabase.impl.NamedElementImpl
	 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getNamedElement()
	 * @generated
	 */
	int NAMED_ELEMENT = 0;

	/**
	 * The feature id for the 'Tag' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int NAMED_ELEMENT__TAG = TAGGABLE__TAG;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int NAMED_ELEMENT__NAME = TAGGABLE_FEATURE_COUNT + 0;

	/**
	 * The feature id for the 'Documentation' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int NAMED_ELEMENT__DOCUMENTATION = TAGGABLE_FEATURE_COUNT + 1;

	/**
	 * The number of structural features of the 'Named Element' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int NAMED_ELEMENT_FEATURE_COUNT = TAGGABLE_FEATURE_COUNT + 2;

	/**
	 * The meta object id for the '{@link com.dbdesigner.model.relationaldatabase.impl.DatabaseModelImpl Database Model}' class.
	 *
	 *
	 * @see com.dbdesigner.model.relationaldatabase.impl.DatabaseModelImpl
	 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getDatabaseModel()
	 * @generated
	 */
	int DATABASE_MODEL = 1;

	/**
	 * The feature id for the 'Tag' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int DATABASE_MODEL__TAG = NAMED_ELEMENT__TAG;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int DATABASE_MODEL__NAME = NAMED_ELEMENT__NAME;

	/**
	 * The feature id for the 'Documentation' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int DATABASE_MODEL__DOCUMENTATION = NAMED_ELEMENT__DOCUMENTATION;

	/**
	 * The feature id for the 'Tables' containment reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int DATABASE_MODEL__TABLES = NAMED_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The feature id for the 'Data Types' containment reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int DATABASE_MODEL__DATA_TYPES = NAMED_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The feature id for the 'Tags' containment reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int DATABASE_MODEL__TAGS = NAMED_ELEMENT_FEATURE_COUNT + 2;

	/**
	 * The feature id for the 'Configuration' containment reference.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int DATABASE_MODEL__CONFIGURATION = NAMED_ELEMENT_FEATURE_COUNT + 3;

	/**
	 * The number of structural features of the 'Database Model' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int DATABASE_MODEL_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 4;

	/**
	 * The meta object id for the '{@link com.dbdesigner.model.relationaldatabase.impl.TableImpl Table}' class.
	 *
	 *
	 * @see com.dbdesigner.model.relationaldatabase.impl.TableImpl
	 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getTable()
	 * @generated
	 */
	int TABLE = 2;

	/**
	 * The feature id for the 'Tag' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TABLE__TAG = NAMED_ELEMENT__TAG;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TABLE__NAME = NAMED_ELEMENT__NAME;

	/**
	 * The feature id for the 'Documentation' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TABLE__DOCUMENTATION = NAMED_ELEMENT__DOCUMENTATION;

	/**
	 * The feature id for the 'Columns' containment reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TABLE__COLUMNS = NAMED_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The feature id for the 'Foreign Keys' containment reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TABLE__FOREIGN_KEYS = NAMED_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The number of structural features of the 'Table' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TABLE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 2;

	/**
	 * The meta object id for the '{@link com.dbdesigner.model.relationaldatabase.impl.ColumnImpl Column}' class.
	 *
	 *
	 * @see com.dbdesigner.model.relationaldatabase.impl.ColumnImpl
	 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getColumn()
	 * @generated
	 */
	int COLUMN = 3;

	/**
	 * The feature id for the 'Tag' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int COLUMN__TAG = NAMED_ELEMENT__TAG;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int COLUMN__NAME = NAMED_ELEMENT__NAME;

	/**
	 * The feature id for the 'Documentation' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int COLUMN__DOCUMENTATION = NAMED_ELEMENT__DOCUMENTATION;

	/**
	 * The feature id for the 'Nullable' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int COLUMN__NULLABLE = NAMED_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The feature id for the 'Primary Key' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int COLUMN__PRIMARY_KEY = NAMED_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The feature id for the 'Data Type' reference.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int COLUMN__DATA_TYPE = NAMED_ELEMENT_FEATURE_COUNT + 2;

	/**
	 * The feature id for the 'Size' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int COLUMN__SIZE = NAMED_ELEMENT_FEATURE_COUNT + 3;

	/**
	 * The feature id for the 'Scale' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int COLUMN__SCALE = NAMED_ELEMENT_FEATURE_COUNT + 4;

	/**
	 * The feature id for the 'Array Dimensions' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int COLUMN__ARRAY_DIMENSIONS = NAMED_ELEMENT_FEATURE_COUNT + 5;

	/**
	 * The feature id for the 'Unique' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int COLUMN__UNIQUE = NAMED_ELEMENT_FEATURE_COUNT + 6;

	/**
	 * The number of structural features of the 'Column' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int COLUMN_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 7;

	/**
	 * The meta object id for the '{@link com.dbdesigner.model.relationaldatabase.impl.ForeignKeyImpl Foreign Key}' class.
	 *
	 *
	 * @see com.dbdesigner.model.relationaldatabase.impl.ForeignKeyImpl
	 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getForeignKey()
	 * @generated
	 */
	int FOREIGN_KEY = 4;

	/**
	 * The feature id for the 'Tag' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FOREIGN_KEY__TAG = NAMED_ELEMENT__TAG;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FOREIGN_KEY__NAME = NAMED_ELEMENT__NAME;

	/**
	 * The feature id for the 'Documentation' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FOREIGN_KEY__DOCUMENTATION = NAMED_ELEMENT__DOCUMENTATION;

	/**
	 * The feature id for the 'Source Columns' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FOREIGN_KEY__SOURCE_COLUMNS = NAMED_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The feature id for the 'Target Columns' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FOREIGN_KEY__TARGET_COLUMNS = NAMED_ELEMENT_FEATURE_COUNT + 1;

	/**
	 * The feature id for the 'Target Table' reference.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FOREIGN_KEY__TARGET_TABLE = NAMED_ELEMENT_FEATURE_COUNT + 2;

	/**
	 * The feature id for the 'Source Lower Boundary' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FOREIGN_KEY__SOURCE_LOWER_BOUNDARY = NAMED_ELEMENT_FEATURE_COUNT + 3;

	/**
	 * The feature id for the 'Source Upper Boundary' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FOREIGN_KEY__SOURCE_UPPER_BOUNDARY = NAMED_ELEMENT_FEATURE_COUNT + 4;

	/**
	 * The feature id for the 'Target Lower Boundary' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FOREIGN_KEY__TARGET_LOWER_BOUNDARY = NAMED_ELEMENT_FEATURE_COUNT + 5;

	/**
	 * The feature id for the 'Target Upper Boundary' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FOREIGN_KEY__TARGET_UPPER_BOUNDARY = NAMED_ELEMENT_FEATURE_COUNT + 6;

	/**
	 * The number of structural features of the 'Foreign Key' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int FOREIGN_KEY_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 7;

	/**
	 * The meta object id for the '{@link com.dbdesigner.model.relationaldatabase.impl.DataTypeImpl Data Type}' class.
	 *
	 *
	 * @see com.dbdesigner.model.relationaldatabase.impl.DataTypeImpl
	 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getDataType()
	 * @generated
	 */
	int DATA_TYPE = 5;

	/**
	 * The feature id for the 'Tag' reference list.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int DATA_TYPE__TAG = NAMED_ELEMENT__TAG;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int DATA_TYPE__NAME = NAMED_ELEMENT__NAME;

	/**
	 * The feature id for the 'Documentation' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int DATA_TYPE__DOCUMENTATION = NAMED_ELEMENT__DOCUMENTATION;

	/**
	 * The number of structural features of the 'Data Type' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int DATA_TYPE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link com.dbdesigner.model.relationaldatabase.impl.TagImpl Tag}' class.
	 *
	 *
	 * @see com.dbdesigner.model.relationaldatabase.impl.TagImpl
	 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getTag()
	 * @generated
	 */
	int TAG = 6;

	/**
	 * The feature id for the 'Name' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TAG__NAME = 0;

	/**
	 * The feature id for the 'Documentation' attribute.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TAG__DOCUMENTATION = 1;

	/**
	 * The number of structural features of the 'Tag' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int TAG_FEATURE_COUNT = 2;

	/**
	 * The meta object id for the '{@link com.dbdesigner.model.relationaldatabase.impl.ConfigurationImpl Configuration}' class.
	 *
	 *
	 * @see com.dbdesigner.model.relationaldatabase.impl.ConfigurationImpl
	 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getConfiguration()
	 * @generated
	 */
	int CONFIGURATION = 8;

	/**
	 * The number of structural features of the 'Configuration' class.
	 *
	 *
	 * @generated
	 * @ordered
	 */
	int CONFIGURATION_FEATURE_COUNT = 0;

	/**
	 * Returns the meta object for class '{@link com.dbdesigner.model.relationaldatabase.NamedElement Named Element}'.
	 *
	 *
	 * @return the meta object for class 'Named Element'.
	 * @see com.dbdesigner.model.relationaldatabase.NamedElement
	 * @generated
	 */
	EClass getNamedElement();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.NamedElement#getName Name}'.
	 *
	 *
	 * @return the meta object for the attribute 'Name'.
	 * @see com.dbdesigner.model.relationaldatabase.NamedElement#getName()
	 * @see #getNamedElement()
	 * @generated
	 */
	EAttribute getNamedElement_Name();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.NamedElement#getDocumentation Documentation}'.
	 *
	 *
	 * @return the meta object for the attribute 'Documentation'.
	 * @see com.dbdesigner.model.relationaldatabase.NamedElement#getDocumentation()
	 * @see #getNamedElement()
	 * @generated
	 */
	EAttribute getNamedElement_Documentation();

	/**
	 * Returns the meta object for class '{@link com.dbdesigner.model.relationaldatabase.DatabaseModel Database Model}'.
	 *
	 *
	 * @return the meta object for class 'Database Model'.
	 * @see com.dbdesigner.model.relationaldatabase.DatabaseModel
	 * @generated
	 */
	EClass getDatabaseModel();

	/**
	 * Returns the meta object for the containment reference list '{@link com.dbdesigner.model.relationaldatabase.DatabaseModel#getTables Tables}'.
	 *
	 *
	 * @return the meta object for the containment reference list 'Tables'.
	 * @see com.dbdesigner.model.relationaldatabase.DatabaseModel#getTables()
	 * @see #getDatabaseModel()
	 * @generated
	 */
	EReference getDatabaseModel_Tables();

	/**
	 * Returns the meta object for the containment reference list '{@link com.dbdesigner.model.relationaldatabase.DatabaseModel#getDataTypes Data Types}'.
	 *
	 *
	 * @return the meta object for the containment reference list 'Data Types'.
	 * @see com.dbdesigner.model.relationaldatabase.DatabaseModel#getDataTypes()
	 * @see #getDatabaseModel()
	 * @generated
	 */
	EReference getDatabaseModel_DataTypes();

	/**
	 * Returns the meta object for the containment reference list '{@link com.dbdesigner.model.relationaldatabase.DatabaseModel#getTags Tags}'.
	 *
	 *
	 * @return the meta object for the containment reference list 'Tags'.
	 * @see com.dbdesigner.model.relationaldatabase.DatabaseModel#getTags()
	 * @see #getDatabaseModel()
	 * @generated
	 */
	EReference getDatabaseModel_Tags();

	/**
	 * Returns the meta object for the containment reference '{@link com.dbdesigner.model.relationaldatabase.DatabaseModel#getConfiguration Configuration}'.
	 *
	 *
	 * @return the meta object for the containment reference 'Configuration'.
	 * @see com.dbdesigner.model.relationaldatabase.DatabaseModel#getConfiguration()
	 * @see #getDatabaseModel()
	 * @generated
	 */
	EReference getDatabaseModel_Configuration();

	/**
	 * Returns the meta object for class '{@link com.dbdesigner.model.relationaldatabase.Table Table}'.
	 *
	 *
	 * @return the meta object for class 'Table'.
	 * @see com.dbdesigner.model.relationaldatabase.Table
	 * @generated
	 */
	EClass getTable();

	/**
	 * Returns the meta object for the containment reference list '{@link com.dbdesigner.model.relationaldatabase.Table#getColumns Columns}'.
	 *
	 *
	 * @return the meta object for the containment reference list 'Columns'.
	 * @see com.dbdesigner.model.relationaldatabase.Table#getColumns()
	 * @see #getTable()
	 * @generated
	 */
	EReference getTable_Columns();

	/**
	 * Returns the meta object for the containment reference list '{@link com.dbdesigner.model.relationaldatabase.Table#getForeignKeys Foreign Keys}'.
	 *
	 *
	 * @return the meta object for the containment reference list 'Foreign Keys'.
	 * @see com.dbdesigner.model.relationaldatabase.Table#getForeignKeys()
	 * @see #getTable()
	 * @generated
	 */
	EReference getTable_ForeignKeys();

	/**
	 * Returns the meta object for class '{@link com.dbdesigner.model.relationaldatabase.Column Column}'.
	 *
	 *
	 * @return the meta object for class 'Column'.
	 * @see com.dbdesigner.model.relationaldatabase.Column
	 * @generated
	 */
	EClass getColumn();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.Column#isNullable Nullable}'.
	 *
	 *
	 * @return the meta object for the attribute 'Nullable'.
	 * @see com.dbdesigner.model.relationaldatabase.Column#isNullable()
	 * @see #getColumn()
	 * @generated
	 */
	EAttribute getColumn_Nullable();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.Column#isPrimaryKey Primary Key}'.
	 *
	 *
	 * @return the meta object for the attribute 'Primary Key'.
	 * @see com.dbdesigner.model.relationaldatabase.Column#isPrimaryKey()
	 * @see #getColumn()
	 * @generated
	 */
	EAttribute getColumn_PrimaryKey();

	/**
	 * Returns the meta object for the reference '{@link com.dbdesigner.model.relationaldatabase.Column#getDataType Data Type}'.
	 *
	 *
	 * @return the meta object for the reference 'Data Type'.
	 * @see com.dbdesigner.model.relationaldatabase.Column#getDataType()
	 * @see #getColumn()
	 * @generated
	 */
	EReference getColumn_DataType();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.Column#getSize Size}'.
	 *
	 *
	 * @return the meta object for the attribute 'Size'.
	 * @see com.dbdesigner.model.relationaldatabase.Column#getSize()
	 * @see #getColumn()
	 * @generated
	 */
	EAttribute getColumn_Size();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.Column#getScale Scale}'.
	 *
	 *
	 * @return the meta object for the attribute 'Scale'.
	 * @see com.dbdesigner.model.relationaldatabase.Column#getScale()
	 * @see #getColumn()
	 * @generated
	 */
	EAttribute getColumn_Scale();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.Column#getArrayDimensions Array Dimensions}'.
	 *
	 *
	 * @return the meta object for the attribute 'Array Dimensions'.
	 * @see com.dbdesigner.model.relationaldatabase.Column#getArrayDimensions()
	 * @see #getColumn()
	 * @generated
	 */
	EAttribute getColumn_ArrayDimensions();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.Column#isUnique Unique}'.
	 *
	 *
	 * @return the meta object for the attribute 'Unique'.
	 * @see com.dbdesigner.model.relationaldatabase.Column#isUnique()
	 * @see #getColumn()
	 * @generated
	 */
	EAttribute getColumn_Unique();

	/**
	 * Returns the meta object for class '{@link com.dbdesigner.model.relationaldatabase.ForeignKey Foreign Key}'.
	 *
	 *
	 * @return the meta object for class 'Foreign Key'.
	 * @see com.dbdesigner.model.relationaldatabase.ForeignKey
	 * @generated
	 */
	EClass getForeignKey();

	/**
	 * Returns the meta object for the reference list '{@link com.dbdesigner.model.relationaldatabase.ForeignKey#getSourceColumns Source Columns}'.
	 *
	 *
	 * @return the meta object for the reference list 'Source Columns'.
	 * @see com.dbdesigner.model.relationaldatabase.ForeignKey#getSourceColumns()
	 * @see #getForeignKey()
	 * @generated
	 */
	EReference getForeignKey_SourceColumns();

	/**
	 * Returns the meta object for the reference list '{@link com.dbdesigner.model.relationaldatabase.ForeignKey#getTargetColumns Target Columns}'.
	 *
	 *
	 * @return the meta object for the reference list 'Target Columns'.
	 * @see com.dbdesigner.model.relationaldatabase.ForeignKey#getTargetColumns()
	 * @see #getForeignKey()
	 * @generated
	 */
	EReference getForeignKey_TargetColumns();

	/**
	 * Returns the meta object for the reference '{@link com.dbdesigner.model.relationaldatabase.ForeignKey#getTargetTable Target Table}'.
	 *
	 *
	 * @return the meta object for the reference 'Target Table'.
	 * @see com.dbdesigner.model.relationaldatabase.ForeignKey#getTargetTable()
	 * @see #getForeignKey()
	 * @generated
	 */
	EReference getForeignKey_TargetTable();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.ForeignKey#getSourceLowerBoundary Source Lower Boundary}'.
	 *
	 *
	 * @return the meta object for the attribute 'Source Lower Boundary'.
	 * @see com.dbdesigner.model.relationaldatabase.ForeignKey#getSourceLowerBoundary()
	 * @see #getForeignKey()
	 * @generated
	 */
	EAttribute getForeignKey_SourceLowerBoundary();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.ForeignKey#getSourceUpperBoundary Source Upper Boundary}'.
	 *
	 *
	 * @return the meta object for the attribute 'Source Upper Boundary'.
	 * @see com.dbdesigner.model.relationaldatabase.ForeignKey#getSourceUpperBoundary()
	 * @see #getForeignKey()
	 * @generated
	 */
	EAttribute getForeignKey_SourceUpperBoundary();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.ForeignKey#getTargetLowerBoundary Target Lower Boundary}'.
	 *
	 *
	 * @return the meta object for the attribute 'Target Lower Boundary'.
	 * @see com.dbdesigner.model.relationaldatabase.ForeignKey#getTargetLowerBoundary()
	 * @see #getForeignKey()
	 * @generated
	 */
	EAttribute getForeignKey_TargetLowerBoundary();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.ForeignKey#getTargetUpperBoundary Target Upper Boundary}'.
	 *
	 *
	 * @return the meta object for the attribute 'Target Upper Boundary'.
	 * @see com.dbdesigner.model.relationaldatabase.ForeignKey#getTargetUpperBoundary()
	 * @see #getForeignKey()
	 * @generated
	 */
	EAttribute getForeignKey_TargetUpperBoundary();

	/**
	 * Returns the meta object for class '{@link com.dbdesigner.model.relationaldatabase.DataType Data Type}'.
	 *
	 *
	 * @return the meta object for class 'Data Type'.
	 * @see com.dbdesigner.model.relationaldatabase.DataType
	 * @generated
	 */
	EClass getDataType();

	/**
	 * Returns the meta object for class '{@link com.dbdesigner.model.relationaldatabase.Tag Tag}'.
	 *
	 *
	 * @return the meta object for class 'Tag'.
	 * @see com.dbdesigner.model.relationaldatabase.Tag
	 * @generated
	 */
	EClass getTag();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.Tag#getName Name}'.
	 *
	 *
	 * @return the meta object for the attribute 'Name'.
	 * @see com.dbdesigner.model.relationaldatabase.Tag#getName()
	 * @see #getTag()
	 * @generated
	 */
	EAttribute getTag_Name();

	/**
	 * Returns the meta object for the attribute '{@link com.dbdesigner.model.relationaldatabase.Tag#getDocumentation Documentation}'.
	 *
	 *
	 * @return the meta object for the attribute 'Documentation'.
	 * @see com.dbdesigner.model.relationaldatabase.Tag#getDocumentation()
	 * @see #getTag()
	 * @generated
	 */
	EAttribute getTag_Documentation();

	/**
	 * Returns the meta object for class '{@link com.dbdesigner.model.relationaldatabase.Taggable Taggable}'.
	 *
	 *
	 * @return the meta object for class 'Taggable'.
	 * @see com.dbdesigner.model.relationaldatabase.Taggable
	 * @generated
	 */
	EClass getTaggable();

	/**
	 * Returns the meta object for the reference list '{@link com.dbdesigner.model.relationaldatabase.Taggable#getTag Tag}'.
	 *
	 *
	 * @return the meta object for the reference list 'Tag'.
	 * @see com.dbdesigner.model.relationaldatabase.Taggable#getTag()
	 * @see #getTaggable()
	 * @generated
	 */
	EReference getTaggable_Tag();

	/**
	 * Returns the meta object for class '{@link com.dbdesigner.model.relationaldatabase.Configuration Configuration}'.
	 *
	 *
	 * @return the meta object for class 'Configuration'.
	 * @see com.dbdesigner.model.relationaldatabase.Configuration
	 * @generated
	 */
	EClass getConfiguration();

	/**
	 * Returns the factory that creates the instances of the model.
	 *
	 *
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	RelationalDatabaseFactory getRelationalDatabaseFactory();

	/**
	 *
	 * Defines literals for the meta objects that represent
	 *

	 *
each class,

	 *
each feature of each class,

	 *
each enum,

	 *
and each data type

	 *

	 *
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link com.dbdesigner.model.relationaldatabase.impl.NamedElementImpl Named Element}' class.
		 *
		 *
		 * @see com.dbdesigner.model.relationaldatabase.impl.NamedElementImpl
		 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getNamedElement()
		 * @generated
		 */
		EClass NAMED_ELEMENT = eINSTANCE.getNamedElement();

		/**
		 * The meta object literal for the 'Name' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute NAMED_ELEMENT__NAME = eINSTANCE.getNamedElement_Name();

		/**
		 * The meta object literal for the 'Documentation' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute NAMED_ELEMENT__DOCUMENTATION = eINSTANCE.getNamedElement_Documentation();

		/**
		 * The meta object literal for the '{@link com.dbdesigner.model.relationaldatabase.impl.DatabaseModelImpl Database Model}' class.
		 *
		 *
		 * @see com.dbdesigner.model.relationaldatabase.impl.DatabaseModelImpl
		 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getDatabaseModel()
		 * @generated
		 */
		EClass DATABASE_MODEL = eINSTANCE.getDatabaseModel();

		/**
		 * The meta object literal for the 'Tables' containment reference list feature.
		 *
		 *
		 * @generated
		 */
		EReference DATABASE_MODEL__TABLES = eINSTANCE.getDatabaseModel_Tables();

		/**
		 * The meta object literal for the 'Data Types' containment reference list feature.
		 *
		 *
		 * @generated
		 */
		EReference DATABASE_MODEL__DATA_TYPES = eINSTANCE.getDatabaseModel_DataTypes();

		/**
		 * The meta object literal for the 'Tags' containment reference list feature.
		 *
		 *
		 * @generated
		 */
		EReference DATABASE_MODEL__TAGS = eINSTANCE.getDatabaseModel_Tags();

		/**
		 * The meta object literal for the 'Configuration' containment reference feature.
		 *
		 *
		 * @generated
		 */
		EReference DATABASE_MODEL__CONFIGURATION = eINSTANCE.getDatabaseModel_Configuration();

		/**
		 * The meta object literal for the '{@link com.dbdesigner.model.relationaldatabase.impl.TableImpl Table}' class.
		 *
		 *
		 * @see com.dbdesigner.model.relationaldatabase.impl.TableImpl
		 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getTable()
		 * @generated
		 */
		EClass TABLE = eINSTANCE.getTable();

		/**
		 * The meta object literal for the 'Columns' containment reference list feature.
		 *
		 *
		 * @generated
		 */
		EReference TABLE__COLUMNS = eINSTANCE.getTable_Columns();

		/**
		 * The meta object literal for the 'Foreign Keys' containment reference list feature.
		 *
		 *
		 * @generated
		 */
		EReference TABLE__FOREIGN_KEYS = eINSTANCE.getTable_ForeignKeys();

		/**
		 * The meta object literal for the '{@link com.dbdesigner.model.relationaldatabase.impl.ColumnImpl Column}' class.
		 *
		 *
		 * @see com.dbdesigner.model.relationaldatabase.impl.ColumnImpl
		 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getColumn()
		 * @generated
		 */
		EClass COLUMN = eINSTANCE.getColumn();

		/**
		 * The meta object literal for the 'Nullable' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute COLUMN__NULLABLE = eINSTANCE.getColumn_Nullable();

		/**
		 * The meta object literal for the 'Primary Key' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute COLUMN__PRIMARY_KEY = eINSTANCE.getColumn_PrimaryKey();

		/**
		 * The meta object literal for the 'Data Type' reference feature.
		 *
		 *
		 * @generated
		 */
		EReference COLUMN__DATA_TYPE = eINSTANCE.getColumn_DataType();

		/**
		 * The meta object literal for the 'Size' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute COLUMN__SIZE = eINSTANCE.getColumn_Size();

		/**
		 * The meta object literal for the 'Scale' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute COLUMN__SCALE = eINSTANCE.getColumn_Scale();

		/**
		 * The meta object literal for the 'Array Dimensions' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute COLUMN__ARRAY_DIMENSIONS = eINSTANCE.getColumn_ArrayDimensions();

		/**
		 * The meta object literal for the 'Unique' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute COLUMN__UNIQUE = eINSTANCE.getColumn_Unique();

		/**
		 * The meta object literal for the '{@link com.dbdesigner.model.relationaldatabase.impl.ForeignKeyImpl Foreign Key}' class.
		 *
		 *
		 * @see com.dbdesigner.model.relationaldatabase.impl.ForeignKeyImpl
		 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getForeignKey()
		 * @generated
		 */
		EClass FOREIGN_KEY = eINSTANCE.getForeignKey();

		/**
		 * The meta object literal for the 'Source Columns' reference list feature.
		 *
		 *
		 * @generated
		 */
		EReference FOREIGN_KEY__SOURCE_COLUMNS = eINSTANCE.getForeignKey_SourceColumns();

		/**
		 * The meta object literal for the 'Target Columns' reference list feature.
		 *
		 *
		 * @generated
		 */
		EReference FOREIGN_KEY__TARGET_COLUMNS = eINSTANCE.getForeignKey_TargetColumns();

		/**
		 * The meta object literal for the 'Target Table' reference feature.
		 *
		 *
		 * @generated
		 */
		EReference FOREIGN_KEY__TARGET_TABLE = eINSTANCE.getForeignKey_TargetTable();

		/**
		 * The meta object literal for the 'Source Lower Boundary' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute FOREIGN_KEY__SOURCE_LOWER_BOUNDARY = eINSTANCE.getForeignKey_SourceLowerBoundary();

		/**
		 * The meta object literal for the 'Source Upper Boundary' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute FOREIGN_KEY__SOURCE_UPPER_BOUNDARY = eINSTANCE.getForeignKey_SourceUpperBoundary();

		/**
		 * The meta object literal for the 'Target Lower Boundary' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute FOREIGN_KEY__TARGET_LOWER_BOUNDARY = eINSTANCE.getForeignKey_TargetLowerBoundary();

		/**
		 * The meta object literal for the 'Target Upper Boundary' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute FOREIGN_KEY__TARGET_UPPER_BOUNDARY = eINSTANCE.getForeignKey_TargetUpperBoundary();

		/**
		 * The meta object literal for the '{@link com.dbdesigner.model.relationaldatabase.impl.DataTypeImpl Data Type}' class.
		 *
		 *
		 * @see com.dbdesigner.model.relationaldatabase.impl.DataTypeImpl
		 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getDataType()
		 * @generated
		 */
		EClass DATA_TYPE = eINSTANCE.getDataType();

		/**
		 * The meta object literal for the '{@link com.dbdesigner.model.relationaldatabase.impl.TagImpl Tag}' class.
		 *
		 *
		 * @see com.dbdesigner.model.relationaldatabase.impl.TagImpl
		 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getTag()
		 * @generated
		 */
		EClass TAG = eINSTANCE.getTag();

		/**
		 * The meta object literal for the 'Name' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute TAG__NAME = eINSTANCE.getTag_Name();

		/**
		 * The meta object literal for the 'Documentation' attribute feature.
		 *
		 *
		 * @generated
		 */
		EAttribute TAG__DOCUMENTATION = eINSTANCE.getTag_Documentation();

		/**
		 * The meta object literal for the '{@link com.dbdesigner.model.relationaldatabase.impl.TaggableImpl Taggable}' class.
		 *
		 *
		 * @see com.dbdesigner.model.relationaldatabase.impl.TaggableImpl
		 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getTaggable()
		 * @generated
		 */
		EClass TAGGABLE = eINSTANCE.getTaggable();

		/**
		 * The meta object literal for the 'Tag' reference list feature.
		 *
		 *
		 * @generated
		 */
		EReference TAGGABLE__TAG = eINSTANCE.getTaggable_Tag();

		/**
		 * The meta object literal for the '{@link com.dbdesigner.model.relationaldatabase.impl.ConfigurationImpl Configuration}' class.
		 *
		 *
		 * @see com.dbdesigner.model.relationaldatabase.impl.ConfigurationImpl
		 * @see com.dbdesigner.model.relationaldatabase.impl.RelationalDatabasePackageImpl#getConfiguration()
		 * @generated
		 */
		EClass CONFIGURATION = eINSTANCE.getConfiguration();

	}

} //RelationalDatabasePackage


text:
ACCEPTED

#### According to
Index Fungorum

#### Published in
Öst. bot. Z. 67: 282 (1918)

#### Original name
Parmelia hypoleucina var. hypoleucina

### Remarks
null


text:
#
# Table structure for table 'cad_motoristas'
#

CREATE TABLE IF NOT EXISTS `cad_motoristas` (
	`id` int(10) NOT NULL AUTO_INCREMENT,
	`cpf` varchar(14) COLLATE utf8_unicode_ci NOT NULL,
	`nome` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
	PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;


text:
SpreeExtendedRegistration
=========================

A very simple spree extension which provides:

 * first\_name
 * last\_name
 * company\_name

to the user model and registration form.

Copyright (c) 2012 [Sheena Artrip], released under the New BSD License


text:
RSpec.shared_examples 'a pull request action' do
  describe '#call' do
    let(:args) do
      {
        pr_number: '92',
        heroku_client: heroku_client,
        app_name: 'iris-acceptance-pr-92',
        branch_name: 'test-branch-please-ignore'
      }
    end
    let(:env) do
      {
        'APP_URL' => 'http://example.herokuapp.com',
        'HEROKU_API_KEY' => 'fake-heroku-api-key',
        'GITHUB_USERNAME' => 'daboeng',
        'GITHUB_PERSONAL_TOKEN' => 'fake-github-token',
        'GITHUB_PROJECT' => 'dabohealth/iris',
        'SOURCE_APP_FOR_CONFIG_VARS' => 'dabo-iris-integration'
      }
    end
    let(:heroku_client) { HerokuClient.new }

    before do
      stub_const('ENV', env)
    end

    it 'responds to a pr action' do
      expect(described_class.call(args)).to eq expected_result
    end
  end
end


text:
.class Landroid/support/v4/app/cw;
.super Ljava/lang/Object;

# direct methods
.method static a([Landroid/support/v4/app/cy;)[Landroid/app/RemoteInput;
    .locals 5

    if-nez p0, :cond_0

    const/4 v0, 0x0

    :goto_0
    return-object v0

    :cond_0
    array-length v0, p0

    new-array v1, v0, [Landroid/app/RemoteInput;

    const/4 v0, 0x0

    :goto_1
    array-length v2, p0

    if-ge v0, v2, :cond_1

    aget-object v2, p0, v0

    new-instance v3, Landroid/app/RemoteInput$Builder;

    invoke-virtual {v2}, Landroid/support/v4/app/cy;->a()Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Landroid/app/RemoteInput$Builder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2}, Landroid/support/v4/app/cy;->b()Ljava/lang/CharSequence;

    move-result-object v4

    invoke-virtual {v3, v4}, Landroid/app/RemoteInput$Builder;->setLabel(Ljava/lang/CharSequence;)Landroid/app/RemoteInput$Builder;

    move-result-object v3

    invoke-virtual {v2}, Landroid/support/v4/app/cy;->c()[Ljava/lang/CharSequence;

    move-result-object v4

    invoke-virtual {v3, v4}, Landroid/app/RemoteInput$Builder;->setChoices([Ljava/lang/CharSequence;)Landroid/app/RemoteInput$Builder;

    move-result-object v3

    invoke-virtual {v2}, Landroid/support/v4/app/cy;->d()Z

    move-result v4

    invoke-virtual {v3, v4}, Landroid/app/RemoteInput$Builder;->setAllowFreeFormInput(Z)Landroid/app/RemoteInput$Builder;

    move-result-object v3

    invoke-virtual {v2}, Landroid/support/v4/app/cy;->e()Landroid/os/Bundle;

    move-result-object v2

    invoke-virtual {v3, v2}, Landroid/app/RemoteInput$Builder;->addExtras(Landroid/os/Bundle;)Landroid/app/RemoteInput$Builder;

    move-result-object v2

    invoke-virtual {v2}, Landroid/app/RemoteInput$Builder;->build()Landroid/app/RemoteInput;

    move-result-object v2

    aput-object v2, v1, v0

    add-int/lit8 v0, v0, 0x1

    goto :goto_1

    :cond_1
    move-object v0, v1

    goto :goto_0
.end method


text:
from kolibri.plugins.hooks import define_hook
from kolibri.plugins.hooks import KolibriHook

@define_hook
class FacilityDataSyncHook(KolibriHook):
    """
    A hook to allow plugins to register callbacks for sync events they're interested in.

    There are two options for hooking into sync: the *_transfer hooks and sync operations.
    - Errors raised in the pre_transfer and post_transfer hooks will not cause sync to fail, so use
      them for behaviors that are auxiliary to the integrity of the sync.
    - Errors raised in operations will cause the sync to fail, so use them for behaviors that are
      vital to the sync process.
    """

    def pre_transfer(
        self,
        dataset_id,
        local_is_single_user,
        remote_is_single_user,
        single_user_id,
        context,
    ):
        """
        Invoked at the completion of initialization stage
        :type dataset_id: str
        :type local_is_single_user: bool
        :type remote_is_single_user: bool
        :type single_user_id: str
        :type context: morango.sync.context.LocalSessionContext
        """
        pass

    def post_transfer(
        self,
        dataset_id,
        local_is_single_user,
        remote_is_single_user,
        single_user_id,
        context,
    ):
        """
        Invoked at the completion of cleanup stage
        :type dataset_id: str
        :type local_is_single_user: bool
        :type remote_is_single_user: bool
        :type single_user_id: str
        :type context: morango.sync.context.LocalSessionContext
        """
        pass

    def get_sync_operations(self, context):
        """
        Allows for customized runtime behavior of syncs by providing a way to inject operations into
        sync during the process. By default this will return the value of an attribute that matches
        the current stage of the context. Define any of the following to provide custom operations:
            initializing_operations
            serializing_operations
            queuing_operations
            transferring_operations
            dequeuing_operations
            deserializing_operations
            cleanup_operations

        :type context: morango.sync.context.SessionContext
        :return: A list of callable functions or Morango operations
        :rtype: callable[]|morango.sync.operations.BaseOperation[]
        """
        return getattr(self, "{}_operations".format(context.stage), [])


text:
cask 'burn' do
  version '2.7.6'
  sha256 '8b3e15d90fb4e1f10782440a1eaf8b3691024b550c33a62e19c846bc8817f43c'

  # downloads.sourceforge.net/burn-osx was verified as official when first introduced to the cask
  url "https://downloads.sourceforge.net/burn-osx/Burn/#{version}/burn-#{version}.zip"
  appcast 'https://sourceforge.net/projects/burn-osx/rss?path=/Burn'
  name 'Burn'
  homepage 'https://burn-osx.sourceforge.io/'

  app 'Burn.localized/Burn.app'
end


text:
published: true
title: zero-click iMessage exploit
tags: security
---
> The image files tricked the iPhone into giving access to its entire memory, bypassing security and allowing the installation of spyware that would steal a user's messages. - [HN](https://news.ycombinator.com/item?id=30393530) / [Project Zero](https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-into-nso-zero-click.html)

1. iMessage has a feature to send and receive GIFs

2. These GIFs are copied to a specific path early in the message processing pipeline (even before the message is displayed)

3. But the copy code doesn't just copy the GIF. It uses the CoreGraphics APIs _renders_ the image to a new GIF file at the destination path.

4. The code uses the ImageIO lib to guess the image format, ignoring the .gif file extension. So you can trick this code to accept a non-GIF file.

5. You can use the above to invoke one of over 20 image codecs that were not intended to be invoked in this code, including the CoreGraphics PDF parser.

6. CoreGraphics PDF parser has a very specific vulnerability in its JBIG2 image codec.

7. JBIG2 takes an image of text, identifies repeating glyphs and uses that fact for better compression. To avoid confusing slightly differing glyphs in things like images of poor quality prints (think e and é, or 3 and 8), it has a way of applying a diff over each instance of an identified repeating glyph.

8. This logic has an integer overflow bug: the 'number of symbols' variable is a 32-bit integer, which can be overflowed using a carefully crafted file. Now the attacker can can set the buffer for symbols to a much smaller value.

9. Making a long story short, this allows overwriting heap memory, setting arbitrary values in the objects used in the JBIG2 logic.

10. The JBIG2 logic uses AND, OR, XOR and XNOR operations when iterating through these objects (to apply the 'diff' on glyphs). The attacker can craft a file that strings together these logic operations so that it basically forms a software logic circuit.

11. So this exploit basically emulates a computer architecture inside an image codec, which can be used to operate on arbitrary memory!


text:
use anyhow::Context;
use lazy_static::lazy_static;
use std::collections::BTreeMap;
use std::path::{Path, PathBuf};
use std::time::Instant;
use std::{env, fs, str, usize};
use tree_sitter::{Language, Parser, Query};
use tree_sitter_loader::Loader;

include!("../src/tests/helpers/dirs.rs");

lazy_static! {
    static ref LANGUAGE_FILTER: Option<String> =
        env::var("TREE_SITTER_BENCHMARK_LANGUAGE_FILTER").ok();
    static ref EXAMPLE_FILTER: Option<String> =
        env::var("TREE_SITTER_BENCHMARK_EXAMPLE_FILTER").ok();
    static ref REPETITION_COUNT: usize = env::var("TREE_SITTER_BENCHMARK_REPETITION_COUNT")
        .map(|s| usize::from_str_radix(&s, 10).unwrap())
        .unwrap_or(5);
    static ref TEST_LOADER: Loader = Loader::with_parser_lib_path(SCRATCH_DIR.clone());
    static ref EXAMPLE_AND_QUERY_PATHS_BY_LANGUAGE_DIR: BTreeMap<PathBuf, (Vec<PathBuf>, Vec<PathBuf>)> = {
        fn process_dir(result: &mut BTreeMap<PathBuf, (Vec<PathBuf>, Vec<PathBuf>)>, dir: &Path) {
            if dir.join("grammar.js").exists() {
                let relative_path = dir.strip_prefix(GRAMMARS_DIR.as_path()).unwrap();
                let (example_paths, query_paths) =
                    result.entry(relative_path.to_owned()).or_default();

                if let Ok(example_files) = fs::read_dir(&dir.join("examples")) {
                    example_paths.extend(example_files.filter_map(|p| {
                        let p = p.unwrap().path();
                        if p.is_file() {
                            Some(p.to_owned())
                        } else {
                            None
                        }
                    }));
                }

                if let Ok(query_files) = fs::read_dir(&dir.join("queries")) {
                    query_paths.extend(query_files.filter_map(|p| {
                        let p = p.unwrap().path();
                        if p.is_file() {
                            Some(p.to_owned())
                        } else {
                            None
                        }
                    }));
                }
            } else {
                for entry in fs::read_dir(&dir).unwrap() {
                    let entry = entry.unwrap().path();
                    if entry.is_dir() {
                        process_dir(result, &entry);
                    }
                }
            }
        }

        let mut result = BTreeMap::new();
        process_dir(&mut result, &GRAMMARS_DIR);
        result
    };
}

fn main() {
    let max_path_length = EXAMPLE_AND_QUERY_PATHS_BY_LANGUAGE_DIR
        .values()
        .flat_map(|(e, q)| {
            e.iter()
                .chain(q.iter())
                .map(|s| s.file_name().unwrap().to_str().unwrap().len())
        })
        .max()
        .unwrap_or(0);

    eprintln!("Benchmarking with {} repetitions", *REPETITION_COUNT);

    let mut parser = Parser::new();
    let mut all_normal_speeds = Vec::new();
    let mut all_error_speeds = Vec::new();

    for (language_path, (example_paths, query_paths)) in
        EXAMPLE_AND_QUERY_PATHS_BY_LANGUAGE_DIR.iter()
    {
        let language_name = language_path.file_name().unwrap().to_str().unwrap();

        if let Some(filter) = LANGUAGE_FILTER.as_ref() {
            if language_name != filter.as_str() {
                continue;
            }
        }

        eprintln!("\nLanguage: {}", language_name);
        let language = get_language(language_path);
        parser.set_language(language).unwrap();

        eprintln!("  Constructing Queries");
        for path in query_paths {
            if let Some(filter) = EXAMPLE_FILTER.as_ref() {
                if !path.to_str().unwrap().contains(filter.as_str()) {
                    continue;
                }
            }

            parse(&path, max_path_length, |source| {
                Query::new(language, str::from_utf8(source).unwrap())
                    .expect("Failed to parse query");
            });
        }

        eprintln!("  Parsing Valid Code:");
        let mut normal_speeds = Vec::new();
        for example_path in example_paths {
            if let Some(filter) = EXAMPLE_FILTER.as_ref() {
                if !example_path.to_str().unwrap().contains(filter.as_str()) {
                    continue;
                }
            }

            normal_speeds.push(parse(example_path, max_path_length, |code| {
                parser.parse(code, None).expect("Failed to parse");
            }));
        }

        eprintln!("  Parsing Invalid Code (mismatched languages):");
        let mut error_speeds = Vec::new();
        for (other_language_path, (example_paths, _)) in
            EXAMPLE_AND_QUERY_PATHS_BY_LANGUAGE_DIR.iter()
        {
            if other_language_path != language_path {
                for example_path in example_paths {
                    if let Some(filter) = EXAMPLE_FILTER.as_ref() {
                        if !example_path.to_str().unwrap().contains(filter.as_str()) {
                            continue;
                        }
                    }

                    error_speeds.push(parse(example_path, max_path_length, |code| {
                        parser.parse(code, None).expect("Failed to parse");
                    }));
                }
            }
        }

        if let Some((average_normal, worst_normal)) = aggregate(&normal_speeds) {
            eprintln!("  Average Speed (normal): {} bytes/ms", average_normal);
            eprintln!("  Worst Speed (normal):   {} bytes/ms", worst_normal);
        }

        if let Some((average_error, worst_error)) = aggregate(&error_speeds) {
            eprintln!("  Average Speed (errors): {} bytes/ms", average_error);
            eprintln!("  Worst Speed (errors):   {} bytes/ms", worst_error);
        }

        all_normal_speeds.extend(normal_speeds);
        all_error_speeds.extend(error_speeds);
    }

    eprintln!("\n  Overall");
    if let Some((average_normal, worst_normal)) = aggregate(&all_normal_speeds) {
        eprintln!("  Average Speed (normal): {} bytes/ms", average_normal);
        eprintln!("  Worst Speed (normal):   {} bytes/ms", worst_normal);
    }

    if let Some((average_error, worst_error)) = aggregate(&all_error_speeds) {
        eprintln!("  Average Speed (errors): {} bytes/ms", average_error);
        eprintln!("  Worst Speed (errors):   {} bytes/ms", worst_error);
    }
    eprintln!("");
}

fn aggregate(speeds: &Vec<usize>) -> Option<(usize, usize)> {
    if speeds.is_empty() {
        return None;
    }
    let mut total = 0;
    let mut max = usize::MAX;
    for speed in speeds.iter().cloned() {
        total += speed;
        if speed < max {
            max = speed;
        }
    }
    Some((total / speeds.len(), max))
}

fn parse(path: &Path, max_path_length: usize, mut action: impl FnMut(&[u8])) -> usize {
    eprint!(
        "    {:width$}\t",
        path.file_name().unwrap().to_str().unwrap(),
        width = max_path_length
    );

    let source_code = fs::read(path)
        .with_context(|| format!("Failed to read {:?}", path))
        .unwrap();
    let time = Instant::now();
    for _ in 0..*REPETITION_COUNT {
        action(&source_code);
    }
    let duration = time.elapsed() / (*REPETITION_COUNT as u32);
    let duration_ms = duration.as_millis();
    let speed = source_code.len() as u128 / (duration_ms + 1);
    eprintln!("time {} ms\tspeed {} bytes/ms", duration_ms as usize, speed);
    speed as usize
}

fn get_language(path: &Path) -> Language {
    let src_dir = GRAMMARS_DIR.join(path).join("src");
    TEST_LOADER
        .load_language_at_path(&src_dir, &src_dir)
        .with_context(|| format!("Failed to load language at path {:?}", src_dir))
        .unwrap()
}


text:
ALTER TABLE `oauth_access_token` ADD INDEX `oat_token_id` (`token_id`);
ALTER TABLE `oauth_access_token` ADD INDEX `oat_user_name` (`user_name`);
ALTER TABLE `oauth_access_token` ADD INDEX `oat_client_id` (`client_id`);
ALTER TABLE `oauth_access_token` ADD INDEX `oat_refresh_token` (`refresh_token`);
ALTER TABLE `oauth_refresh_token` ADD INDEX `oat_token_id` (`token_id`);


text:
import os

import IECore

import Gaffer

class execute( Gaffer.Application ) :

	def __init__( self ) :

		Gaffer.Application.__init__( self )

		self.parameters().addParameters(

			[
				IECore.FileNameParameter(
					name = "script",
					description = "The script to execute.",
					defaultValue = "",
					allowEmptyString = False,
					extensions = "gfr",
					check = IECore.FileNameParameter.CheckType.MustExist,
				),

				IECore.StringVectorParameter(
					name = "nodes",
					description = "The names of the nodes to execute. If not specified "
						"then all executable nodes will be found automatically.",
					defaultValue = IECore.StringVectorData( [] ),
				),

				IECore.FrameListParameter(
					name = "frames",
					description = "The frames to execute.",
					defaultValue = "1",
					allowEmptyList = False,
				),

			]

		)

		self.parameters().userData()["parser"] = IECore.CompoundObject(
			{
				"flagless" : IECore.StringVectorData( [ "script" ] )
			}
		)

	def _run( self, args ) :

		scriptNode = Gaffer.ScriptNode( os.path.splitext( os.path.basename( args["script"].value ) )[0] )
		scriptNode["fileName"].setValue( os.path.abspath( args["script"].value ) )
		scriptNode.load()
		self.root()["scripts"].addChild( scriptNode )

		nodes = []
		if len( args["nodes"] ) :
			for nodeName in args["nodes"] :
				node = scriptNode.getChild( nodeName )
				if node is None :
					IECore.msg( IECore.Msg.Level.Error, "gaffer execute", "Node \"%s\" does not exist" % nodeName )
					return 1
				if not hasattr( node, "execute" ) :
					IECore.msg( IECore.Msg.Level.Error, "gaffer execute", "Node \"%s\" is not executable" % nodeName )
					return 1
				nodes.append( node )
		else :
			for node in scriptNode.children() :
				if hasattr( node, "execute" ) :
					nodes.append( node )
			if not nodes :
				IECore.msg( IECore.Msg.Level.Error, "gaffer execute", "Script has no executable nodes" )
				return 1

		context = Gaffer.Context( scriptNode.context() )
		for frame in self.parameters()["frames"].getFrameListValue().asList() :
			context.setFrame( frame )
			for node in nodes :
				node.execute( [ context ] )

		return 0

IECore.registerRunTimeTyped( execute )


text:
/* TEMPLATE GENERATED TESTCASE FILE
Filename: CWE427_Uncontrolled_Search_Path_Element__char_console_81.h
Label Definition File: CWE427_Uncontrolled_Search_Path_Element.label.xml
Template File: sources-sink-81.tmpl.h
*/
/*
 * @description
 * CWE: 427 Uncontrolled Search Path Element
 * BadSource: console Read input from the console
 * GoodSource: Use a hardcoded path
 * Sinks:
 *    BadSink : Set the environment variable
 * Flow Variant: 81 Data flow: data passed in a parameter to an virtual method called via a reference
 *
 * */

#include "std_testcase.h"

#include <wchar.h>
#ifdef _WIN32
#define NEW_PATH "%SystemRoot%\\system32"
#define PUTENV _putenv
#else
#define NEW_PATH "/bin"
#define PUTENV putenv
#endif

namespace CWE427_Uncontrolled_Search_Path_Element__char_console_81
{

class CWE427_Uncontrolled_Search_Path_Element__char_console_81_base
{
public:
    /* pure virtual function */
    virtual void action(char * data) const = 0;
};

#ifndef OMITBAD

class CWE427_Uncontrolled_Search_Path_Element__char_console_81_bad : public CWE427_Uncontrolled_Search_Path_Element__char_console_81_base
{
public:
    void action(char * data) const;
};

#endif /* OMITBAD */

#ifndef OMITGOOD

class CWE427_Uncontrolled_Search_Path_Element__char_console_81_goodG2B : public CWE427_Uncontrolled_Search_Path_Element__char_console_81_base
{
public:
    void action(char * data) const;
};

#endif /* OMITGOOD */

}


text:
  Charre est
       un village
       géographiquement positionné dans le département des Pyrénées-Atlantiques en Aquitaine. Elle totalisait 214 habitants en 2008.

Si vous envisagez de demenager à Charre, vous pourrez aisément trouver une maison à acheter.

La ville offre quelques  équipements sportifs, elle dispose, entre autres, de une boucle de randonnée.

Le parc d'habitations, à Charre, était réparti en 2011 en quatre appartements et 97 maisons soit
 un marché relativement équilibré.

À proximité de Charre sont localisées les communes de
Angous située à 5 km, 101 habitants,
Moncayolle-Larrory-Mendibieu localisée à 5 km, 345 habitants,
Aroue-Ithorots-Olhaïby localisée à 3 km, 260 habitants,
Etcharry à 4 km, 127 habitants,
Espès-Undurein localisée à 5 km, 482 habitants,
Nabas localisée à 1 km, 110 habitants,
 entre autres. De plus, Charre est située à seulement 25 km de Oloron-Sainte-Marie.


text:
<!doctype html>

    <meta charset="utf-8">
    <title>Angular 2 App | ng2-webpack</title>
    <link rel="icon" type="image/x-icon" href="/img/favicon.ico">

    <base href="/">
  <link href="/css/app.css" rel="stylesheet">

    <my-app>Loading...</my-app>


text:
<?php

namespace YZ\SupervisorBundle\Manager;

use Supervisor\Supervisor;

/**
 * GroupRestrictedSupervisor.
 */
class GroupRestrictedSupervisor extends Supervisor
{
    /**
     * @var array
     */
    protected $groups;

    /**
     * The constructor.
     *
     * @param string $name
     * @param string $ipAddress The server ip adress
     * @param string $username  Default set to null
     * @param string $password  Default set to null
     * @param int    $port      Default set to null
     * @param array  $groups    Groups to limit this supervisor to
     */
    public function __construct($name, $ipAddress, $username = null, $password = null, $port = null, $groups = [])
    {
        $this->groups = array_filter($groups);

        parent::__construct($name, $ipAddress, $username, $password, $port);
    }

    /**
     * getProcesses.
     *
     * @param array $groups Only show processes in these process groups.
     *
     * @return Process[]
     */
    public function getProcesses($groups = [])
    {
        return parent::getProcesses(empty($groups) ? $this->groups : $groups);
    }

    /**
     * Start all processes listed in the configuration file.
     *
     * @param bool $wait Wait for each process to be fully started
     *
     * @return array result An array containing start statuses
     */
    public function startAllProcesses($wait = true)
    {
        if (empty($this->groups)) {
            return parent::startAllProcesses($wait);
        }

        $results = [];

        foreach ($this->groups as $group) {
            $results = array_merge($results, parent::startProcessGroup($group, $wait));
        }

        return $results;
    }

    /**
     * Stop all processes listed in the configuration file.
     *
     * @param bool $wait Wait for each process to be fully stoped
     *
     * @return array result An array containing start statuses
     */
    public function stopAllProcesses($wait = true)
    {
        if (empty($this->groups)) {
            return parent::stopAllProcesses($wait);
        }

        $results = [];

        foreach ($this->groups as $group) {
            $results = array_merge($results, parent::stopProcessGroup($group, $wait));
        }

        return $results;
    }
}