[

  { /* access panel spec */

    blockid=access;
    custom=com.netscape.management.msgserv.nntp.NNTPAccess;

    localvar = 
    {
      .rest.title=[titled, "\u9023\u7dda\u9650\u5236"];
      .rest.require.login="\u9023\u7dda\u6642\u8a8d\u8b49\u4f7f\u7528\u8005";
      .rest.gethostbyaddr="\u89e3\u6790\u4e3b\u6a5f\u540d\u7a31\u7684 IP \u4f4d\u5740";
      .rest.hcl.enable="\u555f\u7528\u4e3b\u6a5f\u9650\u5236";
      .rest.hcl.table.perm.header="\u6b0a\u9650";
      .rest.hcl.table.patt.header="\u4e3b\u6a5f\u578b\u6a23";
      .rest.hcl.perm.labels=["\u5141\u8a31", "\u62d2\u7d55"];
      .rest.hcl.perm.items=["+", "-"];

      .add.title="\u65b0\u589e\u9023\u7dda\u9650\u5236s"
      .edit.title="\u7de8\u8f2f\u9023\u7dda\u9650\u5236s"

      .perm.items=
      [
        "allow_all",
        "deny_all"
      ];
      .perm.labels=
      [
        "Allow",
        "Deny"
      ];
    };

    content=
    [ /* access panel contents */

      { /* require auth on connect*/
        ctrl=togglepane;
        text=$.rest.require.login;
        val=$service.nntp.network.requirelogin.nsvalue;
      }, /* require auth on connect*/

      {
        ctrl=vstrut;
        size=$g.comp.space.sep;
      },

      { /* resolve host names */
        ctrl=togglepane;
        text=$.rest.gethostbyaddr;
        val=$service.nntp.performance.gethostbyaddr.nsvalue;
      }, /* resolve host names */

      {
        ctrl=vstrut;
        size=$g.comp.space.sep;
      },

      { /* host restrictions */
        ctrl=togglepane;
        text=$.rest.hcl.enable;
        val=$service.nntp.network.dohostcontrol.nsvalue;
        content=
        [ /* host restrictions contents */
          {
            ctrl=table;
            buttonsat=east;
            stdtable=false;
            showedit=true;
            addui=hostrest;
            addtext=$g.addbutton.text;
            edittext=$g.editbutton.text;
            deltext=$g.deletebutton.text;
            editui=hostrest;
            id=hostpatterntable;
            val=$service.nntp.network.hostcontrollist;
            columns=
            [
              {
                header=$.rest.hcl.table.perm.header;
                varname="perm";
              },
              {
                header=$.rest.hcl.table.patt.header;
                varname="patt";
              }
            ]
          }

        ] /* host restrictions contents */
      } /* host restrictions */

    ]; /* access panel contents */
  }, /* access panel spec */

  { /* add/edit restrictions dialog spec */

    blockid=hostrest;
    localvar=
    {
      .perm.items=
      [
        "allow_all",
        "deny_all"
      ];
      .perm.labels=
      [
        "Allow",
        "Deny"
      ];
      .hosts.label.wrap.size=250;
      .addrest.label="\u8f38\u5165\u4e3b\u6a5f IP \u4f4d\u5740\u6216 DNS \u540d\u7a31\u3002\u00b1z\u00a5i\u00a5H\u2025I\u00a5I\ufe50U\u00a5I|r?\ufe50!A\u2025O|p!A*.example.com!C ";
    };

    content=
    [ /* start layout for dialog */

      { /* Switch board for allow/deny radiogroup and host patterns */
        ctrl=switchboard;
        switchalign=left;
        switchborder=true;
        switch=
        [ /* switch contents */

          { /* options for access */
            ctrl=choice;
            style=radio;
            items=$.perm.items;
            labels=$.perm.labels;
            val=$perm;
          } /* options for access */

        ]; /* switch contents */

        content=
        [ /* content controls of the switchboard */

          { /* pane containing label and textarea for host patterns */
              ctrl=pane;
              layout=[ybox];
              content=
              [ /* pane containing label and textarea for host patterns */

                { /* label */
                  ctrl=label;
                  text=$.addrest.label;
                  wrap=$.hosts.label.wrap.size;
                  label=hosts;
                  id=hostprompt;
                }, /* label */

                { /* comp. space */
                  ctrl=vstrut;
                  size=$g.comp.space;
                }, /* comp. space */

                {
                  label=hosts;
                  ctrl=text;
                  val=$patt;
                }

              ] /* pane containing label and textarea for host patterns */
          } /* pane containing label and textarea for host patterns */

        ]; /* content controls of the switchboard */

      } /* Switch board for allow/deny radiogroup and host patterns */
    ]; /* end layout for dialog */

  } /* add/edit restrictions dialog spec */

]


